#java中的继承
继承的概念:
继承有父类和子类组成:
父类:将所有子类共同的部分写好
一个父类可以有多个子类,且子类的类型可以自动转成父类类型
子类:只能有一个父类
子类可以继承父类的属性和方法给自己一份
父类:
属性:name hp ad...
格式:
public class 子类 extends 父类{
}
这边我们用王者荣耀里的英雄来解释继承
public class Hero {
//属性 :
int hp; // 生命值
String name; // 姓名
int ad;// 攻击力
}
这里的Hero即是父类,它的众多子类就是英雄,父类的属性,子类都是拥有的
public class HouYi extends Hero{
// 攻击方法
public void ack_1(Hero wk) {
// 造成300(+110%物理加成)点物理伤害
int num =(int)(300+1.1*ad);// 计算伤害值 强制转换为整数
// 使得孙悟空的生命值 - num
wk.hp -= num;
// 输出 PK 攻击信息
System.out.println(name+"攻击了"+wk.name+",使其失去了"+num+"点生命值,其还是剩下"+wk.hp+"点生命值。");
}
}
这是英雄后羿继承父类Hero
public class Wukong extends Hero{
// 攻击方法
public void ack_1(Hero lb) {
// 造成230(+50%物理加成)点物理伤害
int num =(int)(230+0.5*ad);// 计算伤害值 强制转换为整数
// 使得李白的生命值 - num
lb.hp-=num;
// 继续完善 加参数 写好攻击的算法 减去对方的生命值
// 打印输出 PK 过程
System.out.println(name+"攻击了"+lb.name+",使其失去了"+num+"点生命值,其还是剩下"+lb.hp+"点生命值。");
}
}
这里是英雄悟空继承父类Hero
这个时候就可以创建一个类叫BattleManage
public class BattleManage {
// 具体的一把PK
public static void main(String[] args) {
Wukong wk1 = new Wukong();
HouYi hy1= new HouYi();
wk1.name="悟空(NO.1)";
wk1.ad=180;
wk1.hp=3621;
hy1.name="后裔(NO.1)";
hy1.ad = 200;
hy1.hp = 2400;
wk1.ack_1(hy1);
}
}