多态在开发中的作用

1、多态在开发中有什么作用?
    非常重要:五颗星。。。。(多态你会天天用,到处用!!!!)

    多态在开发中的作用是:
        降低程序的耦合度,提高程序的扩展力。

        public class Master{
            public void feed(Dog d){}
            public void feed(Cat c){}
        }
        以上的代码中表示:Master和Dog以及Cat的关系很紧密(耦合度高)。导致扩展力很差。

        public class Master{
            public void feed(Pet pet){
                pet.eat();
            }
        }
        以上的代表中表示:Master和Dog以及Cat的关系就脱离了,Master关注的是Pet类。
        这样Master和Dog以及Cat的耦合度就降低了,提高了软件的扩展性。
    
    面向对象的三大特征:
        封装、继承、多态

        真的是一环扣一环。

        有了封装,有了这种整体的概念之后。
        对象和对象之间产生了继承。
        有了继承之后,才有了方法的覆盖和多态。
    
    这里提到了一个软件开发原则:
        七大原则最基本的原则:OCP(对扩展开放,对修改关闭)
        目的是:降低程序耦合度,提高程序扩展力。
        面向抽象编程,不建议面向具体编程。

2、解释之前遗留的问题

    私有方法无法覆盖。

    方法覆盖只是针对于“实例方法”,“静态方法覆盖”没有意义。(这是因为方法覆盖通常和多态联合起来)

    总结两句话:
        私有不能覆盖。
        静态不谈覆盖。

    在方法覆盖中,关于方法的返回值类型。
        什么条件满足之后,会构成方法的覆盖呢?
            1、发生具有继承关系的两个类之间。
            2、父类中的方法和子类重写之后的方法:
                具有相同的方法名、相同的形式参数列表、相同的返回值类型。
        
        学习了多态机制之后:
            “相同的返回值类型”可以修改一下吗?
                对于返回值类型是基本数据类型来说,必须一致。
                对于返回值类型是引用数据类型来说,重写之后返回值类型可以变的更小(但意义不大,实际开发中没人这样写。)。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值