zoukankan      html  css  js  c++  java
  • day18-1 多态

    多态

    多态性是允许你将父对象设置成为一个或者更多的它的子对象相等的技术。赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作,简单的说就是允许将子类类型的指针赋值给父类类型的指针

    多态的作用。。我们知道封装可以隐藏实现细节,使得代码模块化。继承可以扩展已经存在的代码块。他们的目的都是为了-----代码的重用。而多态则是为了另一个实现母目的,接口重用。多台的做用途,就是为了类在继承和派生的时候,保证使用家谱中的任一类的实例的某一属性的正确调用

    python不直接支持多态,但可以间接实现

     1 class Animal(object):
     2 
     3     def __init__(self,name):
     4         self.name = name
     5 
     6     @staticmethod
     7     def animal_talk(obj):
     8         obj.talk()     #
     9 
    10 class Cat(Animal):
    11     def talk(self):
    12         print("Miao")
    13 
    14 class Dog(Animal):
    15     def talk(self):
    16         print("WOWO!")
    17 
    18 # def animal_talk(obj):
    19 #     obj.talk()     # 伪多态
    20 
    21 d = Dog("Rich")
    22 c = Cat("yang")
    23 
    24 
    25 # print(d.talk())
    26 # print(c.talk())
    27 
    28 c.animal_talk(c)
    29 d.animal_talk(d)
    30 # 
    31 # Miao
    32 # WOWO!
  • 相关阅读:
    并发技术
    体系结构基础
    TCP协议总结
    HTTP协议总结
    SQL Cookbook:使用字符串
    模运算的基本性质
    682. Baseball Game
    编程之法:面试和算法心得(字符串的全排列)
    编程之法:面试和算法心得(最长回文子串)
    编程之法:面试和算法心得(回文判断)
  • 原文地址:https://www.cnblogs.com/yfjly/p/9825012.html
Copyright © 2011-2022 走看看