对python中类的继承与方法重写介绍

yipeiwu_com7年前Python基础

1.单继承

父类也叫基类

子类也叫派生类

如下所示,继承的关系:

python 类的继承与方法重写

继承的书写格式:

class 子类(父类):

     方法

实例:

class Animal:
    def eat(self):
       print("-----吃-------")
    def drink(self):
       print("-----喝--------")
class Dog(Animal):
     def drak(self):
       print("汪汪叫")
a=Animal()
a.eat()

孙类是可以继承爷爷类的,如下所示:

class Animal:
 def eat(self):
 print("---吃-----")
 def drink(self):
 print("----喝-----")
 def sleep(self):
 print("----睡觉-----")
class Dog(Animal):
 def bark(self):
 print("---汪汪叫----")
 
class Xiaotq(Dog):
 def fly(self):
 print("----飞-----")
 
xiaotq = Xiaotq()
xiaotq.fly()
xiaotq.bark()
xiaotq.eat() 

2.重写

子类和父类中拥有方法名相同的方法,说明子类重写了父类的方法

重写的作用:父类中已经有了这个方法,但子类想修改里面的内容,直接修改父类是不好的,就需要用到重写

例如:

class Animal:
 def eat(self):
 print("---吃-----")
 def drink(self):
 print("----喝-----")
 def sleep(self):
 print("----睡觉-----")
class Dog(Animal):
 def bark(self):
 print("---汪汪叫----")
 
class Xiaotq(Dog):
 def fly(self):
 print("----飞-----")
 def bark(self):
 print("----狂叫-----")
 
xiaotq = Xiaotq()
xiaotq.fly()
xiaotq.bark()
xiaotq.eat() 

这样做,父类的方法是不会被调用的,需要用以下方式:

class Animal:
 def eat(self):
 print("---吃-----")
 def drink(self):
 print("----喝-----")
 def sleep(self):
 print("----睡觉-----")
class Dog(Animal):
 def bark(self):
 print("---汪汪叫----")
 
class Xiaotq(Dog):
 def fly(self):
 print("----飞-----")
 def bark(self):
 print("----狂叫-----")
 #调用被重写的父类的方法
 #1 必须加上self
 Dog.bark(self)
 #2
 super().bark()
 
xiaotq = Xiaotq()
xiaotq.fly()
xiaotq.bark()
xiaotq.eat() 

以上这篇对python中类的继承与方法重写介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python使用min、max函数查找二维数据矩阵中最小、最大值的方法

本文实例讲述了Python使用min、max函数查找二维数据矩阵中最小、最大值的方法。分享给大家供大家参考,具体如下: 简单使用min、max函数来得到二维数据矩阵中的最大最小值,很简单...

在Python的Flask框架中实现全文搜索功能

 全文检索引擎入门 灰常不幸的是,关系型数据库对全文检索的支持没有被标准化。不同的数据库通过它们自己的方式来实现全文检索,而且SQLAlchemy在全文检索上也没有提供一个好的...

python实现TF-IDF算法解析

python实现TF-IDF算法解析

TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。 同样,理论我这里不再赘述,因为和阮一峰大神...

python将字母转化为数字实例方法

python将字母转化为数字实例方法

python如何将字母转化为数字? 将英文字母转成数字: 转换 ord('F') 反转 chr(70) python ord() 函数 是 chr() 函数(...

Python for Informatics 第11章之正则表达式(四)

注:以下文章原文来自于Dr Charles Severance 的 《Python for Informatics》 11.3 组合查询和抽取   如果我们想以“X-”字符串开头的行...