类与对象
如何定义类
我们可以把有共同点的对象定义为一个类,并将它们的共同点进行描述。比如王者荣耀里的所有英雄可以归纳为同一个英雄类,细分的话可以定义为战士类、刺客类、坦克类等。在这里我简单定义了一个英雄类,他们的共同属性有:血量、攻击、物抗、法抗等。
例:
public class Hero {
//英雄属性
String name;
String id;
int ad;//物攻
int ap;//法攻
int hp;//血量
int pr;//物抗
int mr;//法抗
//英雄的攻击行为
public void ack(Hero h){
int s=1500;
h.hp-=s;
System.out.println(name+"攻击了"+h.name+"使其失去了"+s+"点生命值,其还剩下"+h.hp+"点");
}
//英雄恢复血量的行为
public void reply(Hero h,int t){
h.hp+=t;
System.out.println(name+"在恢复血量");
}
}
}
#实例化对象
类的主要作用就是用来作为一个模板,比如英雄类它具有血量、物攻、物抗、法抗等属性以及攻击、恢复血量等行为(方法),但是具体血量、物抗等属性是多少我们并不知道,它只是一个模板。我们可以赋予血量、物抗等具体值作为一个具体的对象,这就是类实例化对象。
例:
/**管理员类的定义*/
public class Manager {
public static void main(String[]args){
/**创建一个英雄对象*/
Hero h1=new Hero();
h1.name="zhaoyun";
h1.hp=2000;
h1.ad=500;
/**创建另一个英雄对象*/
Hero h2=new Hero();
h2.name="gongben";
h2.hp=3000;
h2.ad=300;
//调用这个对象的攻击方法
h1.ack(h2);
//调用3次这个对象的血量恢复方法
for(int i=0;i<3;i++){
h2.reply();
}
}
}
运行结果:
zhaoyun攻击了gongben使其失去了1500点生命值,其还剩下1500点
gongben在恢复血量
gongben当前血量为2000
gongben在恢复血量
gongben当前血量为2500
gongben在恢复血量
gongben当前血量为3000