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

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

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

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

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

举个例子                  ,假设现有一个 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
2021百度不收录(百度现在不收录新站点了吗?——揭秘百度搜索引擎最新动态) 前端面试题汇总(前端面试题整理——React考点和回答)