• 技术文章 >常见问题 >Python常见问题

    python类可以继承吗

    silencementsilencement2019-12-18 10:29:59原创2434

    继承是面向对象的三大特征之一,也是实现软件复用的重要手段。Python 的继承是多继承机制,即一个子类可以同时有多个直接父类。

    Python 子类继承父类的语法是在定义子类时,将多个父类放在子类之后的圆括号里。语法格式如下:

    class Subclass (SuperClass1, SuperClass2, ...)
        #类定义部分

    从上面的语法格式来看,定义子类的语法非常简单,只需在原来的类定义后增加圆括号,井在圆括号中添加多个父类,即可表明该子类继

    承了这些父类。

    推荐学习《python教程

    如果在定义一个 Python 类时并未显式指定这个类的直接父类,则这个类默认继承 object 类。因此,object 类是所有类的父类,要么是

    其直接父类,要么是其间接父类。

    实现继承的类被称为子类,被继承的类被称为父类(也被称为基类、超类)。父类和子类的关系,是一般和特殊的关系。例如水果和苹果

    的关系,苹果继承了水果,苹果是水果的子类,则苹果是一种特殊的水果。

    由于子类是一种特殊的父类,因此父类包含的范围总比子类包含的范围要大,所以可以认为父类是大类,而子类是小类。

    从实际意义上看,子类是对父类的扩展,子类是一种特殊的父类。从这个意义上看,使用继承来描述子类和父类的关系是错误的,用扩展

    更恰当。因此,这样的说法更加准确:Apple 类扩展了 Fruit 类。

    从子类的角度来看,子类扩展(extend)了父类;但从父类的角度来看,父类派生(derive)出子类。也就是说,
    扩展和派生所描述的是同一个动作,只是观察角度不同而已。

    下面程序示范了子类继承父类的特点。下面是 Fruit 类的代码:

    class Fruit:
        def info(self):
            print("我是一个水果!重%g克" % self.weight)
    
    class Food:
        def taste(self):
            print("不同食物的口感不同")
    
    # 定义Apple类,继承了Fruit和Food类
    class Apple(Fruit, Food):
        pass
    
    # 创建Apple对象
    a = Apple()
    a.weight = 5.6
    # 调用Apple对象的info()方法
    a.info()
    # 调用Apple对象的taste()方法
    a.taste()
    专题推荐:
    上一篇:怎样手动安装python的包 下一篇:python命令行模式是什么

    相关文章推荐

    • python可以继承父类方法吗• python如何实现继承

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网