2.1.多态练习
编写程序模拟“主人”喂养“宠物”的场景:
提示1:
主人类:Master
宠物类:Pet
宠物类子类:Dog、Cat、Bird
提示2:
主人应该有喂养的方法:feed()
宠物应该有吃的方法:eat()
只要主人喂宠物,宠物就吃。
要求:主人类中只提供一个喂养方法feed(),要求达到可以喂养各种类型的宠物。
编写测试程序:
创建主人对象
创建各种宠物对象
调用主人的喂养方法feed(),喂养不同的宠物,观察执行结果。
通过该案例,理解多态在开发中的作用。
重要提示:feed方法是否需要一个参数,参数选什么类型!!!
注意:在文本中并未多加阐述,代码中有比较详细的注释
1、未使用多态时
public class AnimalTest01 {
public static void main(String[] args) {
Master m1 = new Master();
Dog zangao = new Dog();
m1.feed(zangao);
Cat bosi = new Cat();
m1.feed(bosi);
Bird yingwu = new Bird();
m1.feed(yingwu);
}
}
class Master {
public Master() {
}
public void feed(Dog d) {
d.eat();
}
public void feed(Cat c) {
c.eat();
}
public void feed(Bird b) {
b.eat();
}
}
class Pet {
public void eat() {
System.out.println("宠物喜欢吃宠物食物!");
}
}
class Dog {
public void eat() {
System.out.println("狗狗喜欢啃骨头!");
}
}
class Cat {
public void eat() {
System.out.println("猫咪喜欢吃鱼!");
}
}
class Bird {
public void eat() {
System.out.println("鸟儿喜欢吃虫子!");
}
}
2、使用多态
public class AnimalTest01 {
public static void main(String[] args) {
Master m1 = new Master();
System.out.println("第一种方式输出:");
m1.feed(new Dog());
m1.feed(new Cat());
m1.feed(new Bird());
System.out.println("第二种方式输出:");
Dog zangao = new Dog();
m1.feed(zangao);
Cat bosi = new Cat();
m1.feed(bosi);
Bird yingwu = new Bird();
m1.feed(yingwu);
}
}
class Master {
public Master() {
}
public void feed(Pet pet) {
pet.eat();
}
}
class Pet {
public void eat() {
System.out.println("宠物喜欢吃宠物食物!");
}
}
class Dog extends Pet {
public void eat() {
System.out.println("狗狗喜欢啃骨头!");
}
}
class Cat extends Pet {
public void eat() {
System.out.println("猫咪喜欢吃鱼!");
}
}
class Bird extends Pet {
public void eat() {
System.out.println("鸟儿喜欢吃虫子!");
}
}
使用多态相比较不使用多态的优点:
扩展性更强,如果需要添加新的宠物类型,例如:猪、蛇等使用多态时,仅仅需要添加宠物类并继承宠物类即可不使用多态时,除了添加宠物类,还需要在主人类中添加不同参数的feed方法相关知识
Java基于JAVA语言的宠物寄养管理(开题+源码)
[独有源码]java
Java计算机毕业设计的宠物交流平台系统(开题+源码+论文)
毕业设计:基于java的宠物管理系统设计与实现
java毕设安卓宠物app(开题+源码)
案例27:基于Java宠物领养系统开题报告设计
java毕设安卓宠物店管理网站(开题+源码)
Java项目
[附源码]JAVA计算机毕业设计宠物救援平台(源码+开题)
基于JAVA宠物健康顾问系统 毕业设计开题报告
网址: java练习题 https://m.mcbbbk.com/newsview65919.html
上一篇: 山东青岛猫咪宠物上门喂养,代喂, |
下一篇: 四个月的猫咪怎么喂养 |