首页IT科技python中继承的代码怎么写?(你了解python中的继承吗)

python中继承的代码怎么写?(你了解python中的继承吗)

时间2025-05-05 11:01:45分类IT科技浏览3990
导读:继承机制经常用于创建和现有类功能类似的新类,又或是新类只需要在现有类基础上添加一些成员(属性和方法),但又不想直接将现有...

继承机制经常用于创建和现有类功能类似的新类          ,又或是新类只需要在现有类基础上添加一些成员(属性和方法)               ,但又不想直接将现有

类代码复制给新类          。也就是说     ,通过使用继承这种机制          ,可以轻松实现类的重复使用               。

举个例子               ,假设现有一个 Shape 类     ,该类的 draw() 方法可以在屏幕上画出指定的形状     ,现在需要创建一个 Form 类               ,要求此类不但可以

在屏幕上画出指定的形状          ,还可以计算出所画形状的面积     。要创建这样的类     ,笨方法是将 draw() 方法直接复制到新类中               ,并添加计算面

积的方法     。实现代码如下所示:

classShape: defdraw(self,content): print("画",content) classForm: defdraw(self,content): print("画",content) defarea(self): #.... print("此图形的面积为...")

当然还有更简单的方法          ,就是使用类的继承机制               。实现方法为:让 From 类继承 Shape 类,这样当 From 类对象调用 draw() 方法时               ,

Python 解释器会先去 From 中找以 draw 为名的方法               ,如果找不到,它还会自动去 Shape 类中找          。如此          ,我们只需在 From 类中添加

计算面积的方法即可               ,示例代码如下:

classShape: defdraw(self,content): print("画",content) classForm(Shape): defarea(self): #.... print("此图形的面积为...")

上面代码中     ,class From(Shape) 就表示 From 继承 Shape     。

Python 中          ,实现继承的类称为子类               ,被继承的类称为父类(也可称为基类          、超类)               。因此在上面这个样例中     ,From 是子类     ,Shape 是父类          。

子类继承父类时               ,只需在定义子类时          ,将父类(可以是多个)放在子类之后的圆括号里即可。语法格式如下:

class类名(父类1,父类2,...): #类定义部分

注意     ,有读者可能还听说过“派生          ”这个词汇               ,它和继承是一个意思          ,只是观察角度不同而已               。换句话话,继承是相对子类来说的               ,即子

类继承自父类;而派生是相对于父类来说的               ,即父类派生出子类               。

了解了继承机制的含义和语法之后,下面代码演示了继承机制的用法:

classPeople: defsay(self): print("我是一个人          ,名字是:",self.name) classAnimal: defdisplay(self): print("人也是高级动物") #同时继承People和Animal类 #其同时拥有name属性               、say()和display()方法 classPerson(People,Animal): pass zhangsan=Person() zhangsan.name="张三" zhangsan.say() zhangsan.display()

关于Python的多继承

事实上               ,大部分面向对象的编程语言     ,都只支持单继承          ,即子类有且只能有一个父类。而 Python 却支持多继承(C++也支持多继承)          。

和单继承相比               ,多继承容易让代码逻辑复杂     、思路混乱     ,一直备受争议     ,中小型项目中较少使用               ,后来的 Java          、C#               、PHP 等干脆取消了多继承               。

使用多继承经常需要面临的问题是          ,多个父类中包含同名的类方法     。对于这种情况     ,Python 的处置措施是:根据子类继承多个父类时这些父类的前后次序决定               ,即排在前面父类中的类方法会覆盖排在后面父类中的同名类方法          。

classPeople: def__init__(self): self.name=People defsay(self): print("People类",self.name) classAnimal: def__init__(self): self.name=Animal defsay(self): print("Animal类",self.name) #People中的name属性和say()会遮蔽Animal类中的 classPerson(People,Animal): pass zhangsan=Person() zhangsan.name="张三" zhangsan.say()

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
c语言指针指向数组中的数据(C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com)