python中类的继承与方法重写

本文探讨了Python编程中的类继承概念,详细解释了单继承的原理,并深入研究了方法重写这一关键特性,帮助读者理解如何在子类中定制父类的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.单继承

父类也叫基类
子类也叫派生类
如下所示,继承的关系:


继承的书写格式:
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()		




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值