继承
1. 继承的概述
在现实生活中,我们与父母之间存在着“继承”的关系。在Python中,也存在着“继承”的思想,来提高代码的复用性、代码的拓展性。
程序中的继承,是类与类之间的特征和行为的一种赠予和获取的关系。一个类可以将自己的属性和行为赠予其他的类,一个类也可以从其他的类中获取到他们的属性和方法。但是两个类之间必需满足 is a 的关系。
在两个类之间,A类将自己的属性和行为赠予B类,B类从A类获取属性和行为。此时,A类被称为是父类,B类被称为是子类。他们之间的关系就是继承。
2. 父类的提取
在设计类的时候,可以根据程序中需要使用到的多个具体的类,进行共性的提取,定义为父类。将多个具体的类中,相同的属性和行为提取出来到一个类中。
3. 继承的特点
- 产生继承关系后,子类可以使用父类中的属性和方法,也可以定义子类独有的属性和方法。
- 使用继承,可以简化代码,提高代码的复用性,提高代码的拓展性,增强代码的健壮性。最重要的是使类与类之间产生了继承的关系,是多态的前提。
- 在Python中,所有的类都直接或者间接的继承自 object 类。
4. 继承的基本语法
# 定义动物类,其中定义动物共有的属性和行为
# 属性使用成员变量来表示
# 行为使用函数来表示
class Animal:
def __init__(self, name, age, gender):
"""
Animal类的构造函数,实现实例化对象的同时,完成属性的初始化赋值操作
:param name:
:param age:
:param gender:
"""
self.name = name
self.age = age
self.gender = gender
def bark(self):
print("animal bark")
def __repr__(self):
return "Animal: {name = %s, age = %d, gender = %s}" % (self.name, self.age, self.gender)
# 定义动物的子类,Dog
# 在类的后面添加小括号,小括号中写父类
# 此时,Dog类继承自Animal类。Animal是父类、Dog是子类
class Dog(Animal):
def walk(self):
print(f"{
self.name} 会走路了")
# 实例化Dog对象的时候,由于继承到的父类的构造函数中包含有三个参数,因此,Dog对象也必需使用三个参数的构造函数
d = Dog("xiaobai", 1