//单位原型
public class Prototype {
String name;//名字
int hp;//生命值
int atk;//攻击力
int def;//防御力
//通过使用构造方法初始化属性
public Prototype(String name,int hp,int atk,int def){
this.name=name;
this.hp=hp;
this.atk=atk;
this.def=def;
}
//展示单位的各项属性
public void dis(){
System.out.println("");
System.out.println("英雄血量:"+hp);
System.out.println("英雄攻击:"+atk);
System.out.println("英雄防御:"+def);
}
}
//继承自单位原型类的英雄类
public class Hero extends Prototype{
public Hero(String name, int hp, int atk, int def) {
super(name, hp, atk, def);
}
}
//继承自单位原型类的怪物类
public class Monster extends Prototype{
public Monster(String name, int hp, int atk, int def) {
super(name, hp, atk, def);
}
}
public class Play {
public static void main(String[] args) {
Prototype hero1=new Hero("李逍遥",600,70,30);
Prototype hero2=new Hero("克劳德",700,60,35);
Prototype monster1=new Monster("杂兵",400,50,25);
Prototype monster2=new Monster("Boss",500,100,20);
pk(hero1,monster1);
pk(hero1,hero2);
pk(monster1,monster2);
pk(monster2,hero2);
}
public static void pk(Prototype p1,Prototype p2){
System.out.println(p1.name+"的各项属性为");
p1.dis();
System.out.println("");
System.out.println("");
System.out.println(p2.name+"的各项属性为");
p2.dis();
if(p1.hp/(p2.atk-p1.def)>p2.hp/(p1.atk-p2.def))
{
System.out.println(p1.name+" vs "+p2.name+" is victory");
}
else
System.out.println(p1.name+" vs "+p2.name+" is defeat");
}
}
运行结果如下:
总结:
继承很好的模拟了现实生活中对象之间的关系,而在程序设计中,继承又能很好的帮助程序员减少很多重复代码。除此之外,由于自动转型功能的存在,使得在定义方法时,不必定义多个不同的方法来放入不同的子类参数,而只需要一个父类参数即可,大大方便了程序设计人员。而方法重写的存在又使得子类更为多样化,而不是完全照搬自父类。
继承的方便性体现在重用性,灵活性体现在拓展性,是java程序设计中常用又方便的一环。
相关推荐
C++类的继承练习(Class inheritance exercise)
基础的C++继承的实验,供大家学习。。。
定义一个车(Vehicle)基类,具有MaxSpeed、Weight等成员变量,Run、Stop等成员函数,由此派生出自行车类(bicycle),汽车类(motocar)类,自行车类有高度等属性,汽车有座位数(seatNum)等属性
1继承的概念 2继承的实现 3变量隐藏与方法覆盖 4super关键字 5 子类的构造顺序 6Object类 7 final关键字
刚开始学,需要简单题目加深对概念的理解
1、实验名称:类的继承、多态的应用 2、代码内容:学生管理类 3、【实验目的】 (1)进一步熟悉抽象类和抽象方法的定义 (2) 进一步掌握集成和多态的实现方式。
第十二章Python继承和多态习题与答案--中文
最简单的继承练习代码,继承设计练习,关于类,继承的实现
1、练习类的继承与多态设计过程; 2、练习面向对象的图形用户界面设计、事件设计方法。 二、实验内容: 1、利用多态性编程,创建一个 square 类实现,求三角形、正方形和圆等形状面 积。方法抽象出一个共享父类,...
java 实验 继承与多态rectAngle 定义矩形类,用户输入矩形的长与宽,程序计算其面积和周长;派生子类正方形类,定义一个接口Printable源代码
练习类继承,虚函数,对练习 很有帮助.
java 抽象类与接口的练习,包括代码及注释,个人笔记
c++类的继承编程练习.doc
c类的继承编程练习.doc
c++类的继承编程练习[参照].pdf
一、封装 二、继承 三、抽象 四、多态 上机练习四大特性总结java
C++关于类继承,多态等性质的练习题。适合初学完C++的进行练习。
很好的Eclipse 关于坐标的描述 点的显示 关于继承的练习。。。。。
.掌握继承和派生的定义,派生类的定义方法。 (1)掌握继承的两种类型:单继承和多继承。 (2)掌握private,public,protected三种继承方式的特点
c++中的继承,组合等的一个综合练习! 一个基类,多个子类的关系