首页 > 分享 > 多态在开发中的作用(案例引入)

多态在开发中的作用(案例引入)

目录

题目

不使用多态机制

使用多态机制

总结多态的作用

题目

        编写程序模拟主人喂养宠物的场景,要求编写主人类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