Python编程基础:第四十一节 继承Inheritance

第四十一节 继承Inheritance

前言

我们这一节一起来学习类的继承,这里需要首先学习两个概念:父类和子类。我们可以这么想,当定义好一个类以后,我们又有一个新的类,这个新的类需要用到之前定义好类中的属性以及方法,并在其基础上添加新的属性和方法,此时我们便可使用继承的方法,将之前的类当作父类,将新定义的类当作子类。简而言之,父类中定义公共的属性和方法,子类中针对每一个对象再定义属于其的一些属性和方法。通常而言,其代码结构为:

# 父类
class 父类名称:
	公共属性
	def 父类方法1(self):
		方法具体实现
# 子类
class 子类名称(父类名称):
	def __init__(self, 子类属性列表):
		self.子类属性 = 子类属性
	def 子类方法1(self):
		方法具体实现

此时,定义好的子类不仅可以访问子类属性以及子类方法,还可以访问父类属性以及父类方法。我们通过继承的方式增强代码可读性的同时也提高可维护性。若不采用继承,那么每个子类定义就需要写很多重复的代码,当要求改变共同函数名称时,也需要逐一修改,采用继承直接在父类中修改即可。

实践

我们先定义一个动物类作为父类:

class Animal:
    live = True
    
    def eat(self):
        print("This animal is eating")
        
    def sleep(self):
        print("This animal is sleeping")

我们在父类中定义了一个公共属性live,以及两个公共方法eatsleep。接着我们定义3个子类:

class Rabbit(Animal):
    def __init__(self, feet):
        self.feet = feet
    def run(self):
        print("This rabbit is running")

class Fish(Animal):
    def swim(self):
        print("This fish is swimming")

class Bird(Animal):
    def fly(self):
        print("This bird is flying")

我们定义了兔子、鱼、鸟三个子类,他们都继承于父类Animal。其中我们还为兔子定义了私有属性feet。接下来我们通过实例化对象访问他们的方法,看是否能访问父类的方法:

rabbit = Rabbit(4)
fish = Fish()
bird = Bird()

rabbit.eat()
rabbit.sleep()
rabbit.run()
print(rabbit.feet)

fish.eat()
fish.sleep()
fish.swim()

bird.eat()
bird.sleep()
bird.fly()
>>> This animal is eating
>>> This animal is sleeping
>>> This rabbit is running
>>> 4
>>> This animal is eating
>>> This animal is sleeping
>>> This fish is swimming
>>> This animal is eating
>>> This animal is sleeping
>>> This bird is flying

可见每个子类均能访问父类及其自身的属性和方法。

以上便是继承的全部内容,感谢大家的收藏、点赞、评论。我们下一节将介绍多重继承(Multi Level Inheritance),敬请期待~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值