首页 > 分享 > java练习题

java练习题

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

所属分类:萌宠日常
上一篇: 山东青岛猫咪宠物上门喂养,代喂,
下一篇: 四个月的猫咪怎么喂养