python中继承的概念,python中的继承有什么特点

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: