目录
题目
不使用多态机制
使用多态机制
总结多态的作用
题目编写程序模拟主人喂养宠物的场景,要求编写主人类Master,宠物有狗类(Dog)、 猫类(Cat),主人应该有喂养宠物的方法(feed),宠物应该有吃的方法(eat),只要主人喂宠物,宠物就吃。要求达到可以喂养多种宠物。
不使用多态机制public class Test05 {
public static void main(String[] args) {
Dog d = new Dog();
Cat c = new Cat();
Master m = new Master();
m.feed(d);
m.feed(c);
}
}
class Master {
public void feed(Dog d) {
d.eat();
}
public void feed(Cat c) {
c.eat();
}
}
class Dog {
public void eat() {
System.out.println("狗狗喜欢啃骨头,吃的很香");
}
}
class Cat {
public void eat() {
System.out.println("猫咪喜欢抓老鼠吃");
}
}
运行结果:
但是我们分析一下,上面的代码貌似看起来很简单,没有冗余,但是现在这个主人又有了新的需求,他还想养一只鸟儿,那我们不但要添加一个鸟类,还要修改主人类,给主人类再添加一个喂养鸟儿的方法,这样显得很麻烦,代码的耦合度很高,扩展性低。
使用多态机制下面我们使用多态机制来做这道题目:引入一个宠物类(Pet)作为父类。
public class Test05 {
public static void main(String[] args) {
Dog d = new Dog();
Cat c = new Cat();
Brid b = new Brid();
Master m = new Master();
m.feed(d);
m.feed(c);
m.feed(b);
}
}
class Master {
public void feed(Pet p) {
p.eat();
}
}
class Pet {
public void eat() {
}
}
class Dog extends Pet {
public void eat() {
System.out.println("狗狗喜欢啃骨头,吃的很香");
}
}
class Cat extends Pet {
public void eat() {
System.out.println("猫咪喜欢抓老鼠吃");
}
}
class Brid extends Pet {
public void eat() {
System.out.println("小鸟喜欢吃虫子,这对人们很有好处");
}
}
运行结果:
总结多态的作用多态机制在我们的开发中很常见,它能够降低程序的耦合度,提高程序的扩展性。拿上面的案例来说,主人后来还想养一只鸟,这代表实际中客户的新需求。我们得满足客户的这个需求。
相关知识
多态使用案例
编写程序模拟“主人”喂养“宠物”的场景,利用多态的思想!!!
编写程序模拟“主人”喂养“宠物”的场景,利用多态的思想。
Object类、多态
java 多态
【Java学习记录】十二 Java中的多态
编写Java程序,以继承和多态思想模拟饲养员喂养不同动物的不同行为
多态
Java分别采用继承、多态、抽象类、接口实现猫和狗的入门案例
多态应用
网址: 多态在开发中的作用(案例引入) https://m.mcbbbk.com/newsview475544.html
上一篇: 家里可以养什么赚钱的东西 |
下一篇: jsp宠物店管理系统95gkg |