多态

作者: 零00_ | 来源:发表于2020-11-16 16:34 被阅读0次

    先有父类,再有子类---》继承
    先有子类,再有父类---》泛化

    多态:执行同一个方法,表现出不同的结果。
    多个子类继承父类,都重写了父类的某个方法,实例化时,创建一个父类指向具体的子类的对象,调用父类的方法,不同的子类会产生不同的表现形式。

    多态的要素:
    1.继承
    2.重写
    3.父类引用指向子类的对象:

     Dog d = new Dog();
     Animal an = d;
    

    也可以合成一句,写成:

    Animal an = new Dog();
    

    多态的好处:提高代码的扩展性,符合面向对象的设计原则:开闭原则。
    开闭原则:扩展是开放的,修改是关闭的

    示例:父类---Animal 子类---Cat、Dog、Pig
    小女孩和动物玩,和不同的动物玩,新增具体的动物种类,父类动物指向改类即可,其他不用改动,提高了扩展性:

    多态.jpg

    除了以上,多态还有其他应用场景,总结:
    1.创建对象时,父类引用指向子类的对象
    2.方法中的参数类型为父类,实际传参数值传子类的对象
    3.方法的返回类型为父类,实际返回的是具体的子类的对象
    4.创建对象时,接口引用指向实现类对象
    5.方法中的参数类型为接口,实际传参数值传实现类的对象
    6.方法的返回类型是接口,实际返回的是具体的实现类的对象

    相关文章

      网友评论

          本文标题:多态

          本文链接:https://www.haomeiwen.com/subject/vxhzbktx.html