python中继承的概念,python中的继承有什么特点
继承机制常用于创建与现有类功能相似的新类,或者新类只需要在现有类的基础上增加一些成员(属性和方法),而不想直接添加现有的。
类别代码被复制到新类别中。也就是说,通过使用继承的机制,可以很容易地实现类的重用。
例如,假设有一个Shape类,它的draw()方法可以在屏幕上绘制指定的形状。现在,有必要创建一个表单类,这就要求这个类不仅可以
在屏幕上画出指定的形状,还可以计算出所画形状的面积。要创建这样一个类,最笨的办法就是直接将draw()方法复制到新类中,并添加计算面。
产品的方法。实现代码如下:
classShape:
defdraw(自身,内容):
打印(“绘画”,内容)
classForm:
defdraw(自身,内容):
打印(“绘画”,内容)
defarea(self):
# .
Print(这个图形的面积是.)当然还有更简单的方法,就是利用类的继承机制。方法是让From类继承Shape类,这样当draw()方法被From类对象调用时,
Python解释器会先查找名为draw in From的方法,如果找不到,会自动在Shape类中查找。这样,我们只需要在From类中添加
面积的计算方法就够了。示例代码如下:
classShape:
defdraw(自身,内容):
打印(“绘画”,内容)
classForm(形状):
defarea(self):
# .
Print(这个图形的面积是.)在上面的代码中,class From(Shape)的意思是From继承Shape。
在Python中,实现继承的类称为子类,被继承的类称为父类(也称为基类或超类)。所以在上面的例子中,From是子类,Shape是父类。
子类继承父类的时候,定义子类的时候把父类(可以是多个)放在子类后面的括号里就可以了。语法如下:
类名(父类1,父类2,):
#请注意,在类定义部分,有些读者可能听说过“派生”这个词,它的意思和继承是一样的,但角度不同。换句话说,继承是相对于子类的,也就是子类。
类从父类继承;派生是相对于父类的,即父类派生子类。
理解了继承机制的含义和语法后,下面的代码演示了继承机制的用法:
班级成员:
defsay(self):
Print(我是个人,我的名字是:,self.name)
动物类:
defdisplay(self):
打印(“人也是高级动物”)
#继承人类和动物类
#它同时具有name属性、say()和display()方法。
classPerson(人,动物):
及格
张三=人()
张三
张三. say()
张三. display()关于Python的多继承
事实上,大多数面向对象编程语言只支持单一继承,即子类只有一个父类。另一方面,Python支持多重继承(C也支持多重继承)。
与单一继承相比,多重继承容易使代码逻辑复杂化,混淆思路,这一点一直存在争议。在中小型项目中很少使用。后来的Java,C#,PHP等。干脆取消了多重继承。
使用多重继承时经常面临的问题是多个父类包含同名的类方法。在这种情况下,Python的解决方案是当一个子类继承多个父类时,按照父类的顺序来决定,即前面父类中的class方法会覆盖后面父类中同名的class方法。
例如:
班级成员:
def__init__(self):
self.name=人民
defsay(self):
打印(“人员类别”,self.name)
动物类:
def__init__(self):
自我名称=动物
defsay(self):
打印(“动物类”,自我名称)
#People中的name属性和say()会模糊动物类中的。
classPerson(人,动物):
及格
张三=人()
张三
张三. say()
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。