深入理解多态


    封装性: 安全性和重用性。
    继承性: 高效性和重用性。
    多态性: 统一性(有机性)和高效性。
    面向对象的三大特性里面试官大佬问了多态的概念,在此总结一下。
    
1.多态是什么概念??
	多态的前提是一个父类和多个子类,即父类引用指向子类对象。在调用一个方法时,从源代码上看,无法确定调用了哪个对象的方法(因为父子类有相同的方法),只有在程序运行期间根据//对象变量引用的实际对象才能确定此方法是哪个对象的,这种现象称之为动态绑定。
          
2.多态内部怎么实现的?
    继承:多个子类对同一方法的重写
    接口:实现接口并覆盖接口中的同一方法
        
3.扩展了解
//项目里面哪个地方用到和具体实现:
 	1.多态有编译时多态和运行时多态。
 	
		第一个是通过方法重载实现;
        第二个是通过方法覆盖实现(子类覆盖父类方法)。
        
		第一种就是我们调用方法是不用区分参数类型,程序会自动执行相应方法,如: 加法运算,可以使int相加,可以是double相加,都是同一个方法名。
		第二种就是动态绑定,使用父类引用指向子类对象,再调用某一父类中的方法时,不同子类会表现出不同结果。 这样的作用就是扩展性极好,玩过网游的话应该知道 游戏中有不同的角色,它们都有一个父类,它们做相同动作时表现出来的效果就会不一样,比如跑,魔法师的跑跟战士的跑就不会一样,这就是俩者都覆盖了父类中的跑方法,各自有自己的现实,表现出来多态。 如果有一天你想再加个角色,只用再写一个类继承该父类,覆盖其中的跑方法就行了,其他代码不用怎么改,所以可维护性也很好。

	2.其实说到多态就是 面向接口编程,它不和具体类尽心挂钩了。
		比如 你没用多态的话,你每实例化一个对象 就要new一下,那假如你那天改变了需求了呢?那是不是又要改里面的?这样不好,所以 你可以通过多态,把需要相似的给提出来,然后继承它 这样以后需要扩展你仅仅只是继承而已,这样就很简单。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值