当前位置:懂科普 >

IT科技

> python类的继承

python类的继承

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

python类的继承是什么?一起来看看小编今天的分享吧。

python类的继承可以理解成类之间的父类和子类型关系,假如我需要定义几个类,而类与类之间有一些公共的属性和方法,这时我就可以把相同的属性和方法作为基类的成员,而特殊的方法及属性则在本类中定义。这样子类只需要继承基类(父类),子类就可以访问到基类(父类)的属性和方法了,它提高了代码的可扩展性和重用行。

如下定义一个动物类Animal为基类,它基本两个实例属性name和age、一个方法call。

python3中所有类都可以继承于object基类。

class Animal(object):     def __init__(self, name, age):       self.name = name       self.age = age
   def call(self):       print(self.name, '会叫')

现在我们需要定义一个Cat 猫类继承于Animal,猫类比动物类多一个sex属性。

class Cat(Animal):   def __init__(self,name,age,sex):       super(Cat, self).__init__(name,age)        self.sex=sex

不要忘记从Animal类引入属性。

if __name__ == '__main__':     c = Cat('喵喵', 2, '男')    c.call()

单模块被引用时下面代码不会受影响,用于调试,Cat继承了父类Animal的属性,输出 喵喵 会叫 ,Cat继承了父类Animal的方法。

python类的继承

注意:一定要用 super(Cat, self).__init__(name,age) 去初始化父类,否则,继承自 Animal的 Cat子类将没有 name和age两个属性。
函数super(Cat, self)将返回当前类继承的父类,即 Animal,然后调用__init__()方法,注意self参数已在super()中传入,在__init__()中将隐式传递,不能再写出self。

标签: 继承 Python
  • 文章版权属于文章作者所有,转载请注明 https://dongkepu.com/itkeji/qg9zyd.html