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

作者:墨墨陌陌沫沫0 时间:2023-03-21 09:49:20 

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()

来源:https://blog.csdn.net/chenjuan0530/article/details/78480810

标签:python,类,继承,重写
0
投稿

猜你喜欢

  • 90行Python代码开发个人云盘应用

    2021-12-17 13:44:12
  • 在ipython notebook中使用argparse方式

    2021-11-17 08:58:41
  • Python实现嵌套列表去重方法示例

    2021-01-29 03:56:57
  • SQL Server索引设计基础知识详解使用

    2024-01-19 01:11:31
  • python多线程http下载实现示例

    2023-12-03 00:15:34
  • python return逻辑判断表达式实现解析

    2023-04-05 08:03:10
  • 基于Python 的进程管理工具supervisor使用指南

    2021-01-06 20:55:03
  • python实现彩票系统

    2021-04-12 21:16:42
  • PyTorch中的Variable变量详解

    2023-02-19 18:48:47
  • SQL Server服务器内存升级后的烦恼

    2008-12-22 10:55:00
  • python对视频画框标记后保存的方法

    2022-09-23 03:20:05
  • python 对给定可迭代集合统计出现频率,并排序的方法

    2023-02-10 17:28:47
  • 基于Python实现一个简单的银行转账操作

    2023-05-29 16:39:26
  • 事件检测

    2009-04-11 18:03:00
  • git stash的正确用法详解

    2022-11-06 19:10:07
  • python使用itchat库实现微信机器人(好友聊天、群聊天)

    2023-07-12 10:38:39
  • 解决vue3打包过后空白页面的情况

    2024-05-09 10:43:00
  • php生成与读取excel文件

    2023-11-15 06:17:48
  • 纯JS实现动态时间显示代码

    2024-05-02 17:31:34
  • Golang运行报错找不到包:package xxx is not in GOROOT的解决过程

    2024-05-05 09:32:25
  • asp之家 网络编程 m.aspxhome.com