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

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

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

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

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

举个例子                    ,假设现有一个 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
java-jwt包作用(Java中JWT的使用)