多态在开发中实际的应用

多态在实际开发中的应用
1、分析:以主人喂养宠物这个场景要实现需要进行类型的抽象:
主人【类】
主人可以喂养宠物,所以主人有喂养的这个动作
宠物【类】
宠物可以吃东西,所以宠物有吃东西这个动作
2、面向对象编程的核心:定义好类,然后将类实例化为对象,给一个环境驱使一下,让哥个对象之间写作起来形成一个系统

3.多态的作用是什么?

核心:面向抽象编程,不再面向具体对象编程,宠物是一个抽象的类,不再面向具体的宠物如猫、狗编程

/*宠物猫类*/
public class Cat{
	public void eat()
	{
		system.out.println("小猫在吃鱼");
	}
}
/*主人类*/
public class Master{
	public void feed(Cat c){
		c.eat();
	}
	//当多了一个宠物够的时候,需要添加新的方法
	public void feed(Dog d){
 			 d.eat();
 		}
}
}
/*写一个测试类*/
public class Test{

	public static void main(String[] args)
	{
		Cat c1 = new Cat();
		Master m1 = new Master();
		
		m1.feed(c1);
	} 


	
/*写一个宠物狗*/
public class Dog{	
	public void eat(){
		System.out.println("小狗在啃骨头 ");
	}
}
}

以上代码片段可以看出,当添加一个新动物狗的时候,需要在‘主人’类中添加新的方法,从而可以看出没有使用多态,Masterde 扩展能力很差,因为只要加一个新宠物,就需要在Master类中添加新的方法


//提高程序的扩展力,即降低程序的耦合力【解耦合】
//当增加新的宠物的时候,不用再更改Master类内部的内容

public class Master{
	public void feed(Pet pet){
		pet.eat();
	}

}
//加入一个宠物类
public class Pet{
	public void eat(){

	}
//然后让狗和猫继承于宠物类
public class Dog extends Pet{
	public void eat(){
		Systen.out.println("小狗吃东西");
	}
}

public class Cat extends Pet{
	public void eat(){
		System.out.println("小猫在吃东西");
	}	
}
}



  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值