`
rzheny
  • 浏览: 9165 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

类与对象

 
阅读更多
面向对象编程:
类是基本单位;对象是核心和基础;
类:
   是一个抽象的概念,在程序中有1.固定格式;2.由属性和方法构成;3:属性和对象的特征相    对应,方法和对象的行为相对应。
   格式:
  
//类的定义
public class 类名{
   
   //定义属性的格式
   private 类型 属性名;

  //定义方法的格式
  public 返回值类型 方法名(参数类型 参数名,参数类型 参数名,……){ 
  //方法体
  }
}

步骤:
1.找出场景中的对象;
2.找到对象的特征和行为;
3.实例化对象(类)
关键字:new
格式:类名 对象名=new 类名();   //带()都是方法,此处为构造方法
     方法分为构造方法()和普通方法(表示对象的行为)
     构造方法:1.实例化对象;2.给属性赋初始值;
               格式:public 类名(参数类型 参数名,.....){
                //方法体}
     区别:1.返回值(普通方法有无返回值必须写出来,构造方法有返回值而不用写出来, 返回内存空间的首地址);
           2.名字不同(构造方法为类名,普通方法为所需要的名称);
           3.表示不同;
调用方法的格式:对象名.方法名(参数,……);
方法重载:1.方法名相同;
           2.参数个数,类型,和顺序至少有一个不相同;
this关键字:作用:1.区分属性和参数;
                   2.调用构造方法;
  值传递:适用于:基本类型,+String
  引用传递:适用于类类型(类、接口、抽象类、数组)传递的是内存空间的首地址
关于对战练习的代码:
//定义一个Boss类
public class Boss {

	//定义名称和血量属性
	private String name;
	private int blood;

	//定义设置名称和获取名称属性值的方法
	public void setName(String n){
		name = n;
	}
	public String getName(){
		return name;
	}
	//定义设置血量和获取血量属性值的方法
	public void setBlood(int b){
		blood = b;
	}
	public int getBlood(){
		return blood;
	}

	//定义Boss的战斗方法,Boss需要和战士进行战斗,所以需要一个战士类型的对象作为参数
	public void fight(Soldier sol){
		//让sol对象减少血量
		sol.setBlood(sol.getBlood()-1);
		//输出信息
		System.out.println(name+"攻击了"+sol.getName()+","+sol.getName()+"剩余"+sol.getBlood()+"血量");
	}

}

主函数:
//定义Game类
public class Game {

	//定义程序的入口主函数
	public static void main(String [] args){

		//实例化Solider类的对象
		Soldier sol = new Soldier();
		//设置sol对象的名称和血量属性值
		sol.setName("无敌");
		sol.setBlood(10);

		//实例化一个Boss类的对象
		Boss boss = new Boss();
		//设置boss对象的名称和血量属性值
		boss.setName("呵呵");
		boss.setBlood(10);

		//循环战斗,条件战士和Boss的血量都必须要大于0
		while(sol.getBlood() > 0 && boss.getBlood() > 0){
			//让战士对象先攻击Boss对象
			sol.fight(boss);
			//判断boss的血量是否小于或者等于0
			if(boss.getBlood() <= 0){
				//输出信息
				System.out.println(sol.getName()+"胜利啦!");
				//跳出循环
				break;
			}
			//让Boss对象攻击战士对象
			boss.fight(sol);
			//判断sol的血量是否小于或者等于0
			if(sol.getBlood() <= 0){
				//输出信息
				System.out.println(boss.getName()+"胜利啦!");
				//跳出循环
				break;
			}
		}
		

	}

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics