zoukankan      html  css  js  c++  java
  • 多继承、多态

    1.多继承

    class Base(object):
    def test(self):
    print("----Base")

    class A(Base):
    def test(self):
    print("-----A")

    class B(Base):
    def test(self):
    print("-----B")

    class C(A,B):
    pass
    #def test(self):
    # print("-----C")


    c = C()
    c.test()

    print(C.__mro__)

    2.多态
    class Dog(object):
    def print_self(self):
    print("大家好,我是xxxx,希望以后大家多多关照....")

    class Xiaotq(Dog):
    def print_self(self):
    print("hello everybody, 我是你们的老大,我是xxxx")


    def introduce(temp):
    temp.print_self()


    dog1 = Dog()
    dog2 = Xiaotq()

    introduce(dog1)
    introduce(dog2)


    继承可以把父类的所有功能都直接拿过来,这样就不必重零做起,子类只需要新增自己特有的方法,也可以把父类不适合的方法覆盖重写;

    有了继承,才能有多态。在调用类实例方法的时候,尽量把变量视作父类类型,这样,所有子类类型都可以正常被接收;

    旧的方式定义Python类允许不从object类继承,但这种编程方式已经严重不推荐使用。任何时候,如果没有合适的类可以继承,就继承自object类。

  • 相关阅读:
    HTML_<select>
    HTML_<a>
    MySQL_知识点
    MySQL_常用SQL语句
    GIT
    MyBatis_传入参数的问题
    js函数防抖与节流总结
    node 常用方法 生成密钥 token验证 验证码生成 (持续更新)
    node 登陆拦截中间件(egg)
    js 给页面容器增加水印
  • 原文地址:https://www.cnblogs.com/loser1949/p/9195849.html
Copyright © 2011-2022 走看看