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

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

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

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

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

举个例子                       ,假设现有一个 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
python迭代器定义(Python中的迭代器是什么) 服务器重启会丢失数据吗(导致服务器重启的硬件问题有哪些)