需求说明:
主人和狗狗玩接飞盘游戏,狗狗健康值减少10,与主人亲密度增加5
主人和企鹅玩游泳游戏,企鹅健康值减少10,与主人亲密度增加5
提示:
Dog类添加catchingFlyDisc()方法,实现接飞盘功能
Penguin类添加swimming()方法,实现游泳功能
主人添加play(Pet pet)方法
如果pet代表Dog就玩接飞盘游戏
如果pet代表Penguin就玩游泳游戏
Pet类
public class Pet { private String name; protected int health=100;//健康值 protected int love = 0;//亲密度 public Pet() { super(); } public Pet(String name, int health, int love) { super(); this.name = name; this.health = health; this.love = love; } //第二种写法: /* public abstract void play(); */ public String getName() { return name; } public void setName(String name) { this.name = name; } public int getHealth() { return health; } public void setHealth(int health) { this.health = health; } public int getLove() { return love; } public void setLove(int love) { this.love = love; } }
12345678910111213141516171819202122232425262728293031323334353637383940414243444546Dog类:
主人和狗狗玩接飞盘游戏,狗狗健康值减少10,与主人亲密度增加5
Dog类添加catchingFlyDisc()方法,实现接飞盘功能
public class Dog extends Pet { private String strain;//品种 public Dog() { super(); } public Dog(String strain) { super(); this.strain = strain; } //第二种写法 /* @Override public void play() { // TODO Auto-generated method stub catchingFlyDisc(); //调用正在接飞盘的类 } */ public void catchingFlyDisc(){ System.out.println("小狗正在接飞盘!"); super.health =super.health-10; System.out.println("健康值:" + super.health); super.love = super.love +5; System.out.println("亲密度:" + super.love); } public String getStrain() { return strain; } public void setStrain(String strain) { this.strain = strain; } }
12345678910111213141516171819202122232425262728293031323334353637383940414243Penguin类:
主人和企鹅玩游泳游戏,企鹅健康值减少10,与主人亲密度增加5 Penguin类添加swimming()方法,实现游泳功能
public class Penguin extends Pet { private String sex; public Penguin() { super(); } public Penguin(String sex) { super(); this.sex = sex; } //第二种写法 /* @Override public void play() { // TODO Auto-generated method stub swimming();//调用正在游泳的类 } */ public void swimming(){ System.out.println("企鹅正在接飞盘!"); super.health =super.health-10; System.out.println("健康值:" + super.health); super.love = super.love +5; System.out.println("亲密度:" + super.love); } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } }
12345678910111213141516171819202122232425262728293031323334353637383940Master类:
public class Master { private String name; private int age; public Master() { super(); } public Master(String name, int age) { super(); this.name = name; this.age = age; } public void play(Pet pet){ if(pet instanceof Dog){ Dog dog = (Dog)pet; dog.catchingFlyDisc(); }else if(pet instanceof Penguin){ Penguin p = (Penguin)pet; p.swimming(); } } //第二种写法 /* public void play(Pet pet) { pet.play(); } */ public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
123456789101112131415161718192021222324252627282930313233343536373839404142434445测试类Test:
public class Test { public static void main(String[] args) { // TODO Auto-generated method stub Master m = new Master(); m.play(new Dog()); m.play(new Penguin()); } }12345678910
相关知识
JAVA多态练习
Java零基础系列教程013Java多态
编写Java程序,以继承和多态思想模拟饲养员喂养不同动物的不同行为
多态
Java猫和狗(继承,多态,抽象,接口版)下
学会继承、多态、封装(2)——Java实现宠物店(领养宠物)
通过多态实现主人喂养各种宠物
java特性封装、抽象、继承、多态理论
(Java)继承与多态基础训练
java 多态
网址: Java多态实例主人和狗狗企鹅玩游戏 https://m.mcbbbk.com/newsview560263.html
上一篇: 寄生虫病的防治原则 |
下一篇: 常见的动物寄生虫种类及基本防治策 |