Python 遗产
Python 继承
继承允许我们定义一个类,该类继承了另一个类的所有方法和属性。
父类 是被继承的类,也称为基类。
子类 是从另一个类继承的类,也叫派生类。
创建父类
任何类都可以是父类,因此语法与创建任何其他类相同:
例子
创建一个名为 Person
, 和 firstname
和lastname
属性,以及printname
方法:
班级人员:
def __init__(self, fname, lname):
self.firstname = fname
self.lastname = lname
def printname(自身):
打印(self.firstname,self.lastname)
#使用Person类创建对象,然后执行printname方法:
x = 人(“约翰”,“多伊”)
x.printname()
亲自尝试 »
创建子类
要创建从另一个类继承功能的类,请在创建子类时将父类作为参数发送:
例子
创建一个名为 Student
,它将继承 Person
班级:
学生班级(人):
经过
笔记: 使用pass
当您不想向类中添加任何其他属性或方法时,请使用关键字。
现在Student类具有与Person类相同的属性和方法。
添加 __init__() 函数
到目前为止,我们已经创建了一个从其父类继承属性和方法的子类。
我们想添加 __init__()
函数到子类(而不是pass
关键词)。
笔记: 这__init__()
每次使用该类创建新对象时都会自动调用该函数。
例子
添加 __init__()
函数Student
班级:
学生班级(人):
def __init__(self, fname, lname):
#添加属性等
当您添加 __init__()
函数,子类将不再继承父类的__init__()
功能。
笔记: 孩子的__init__()
功能覆盖 父母的继承__init__()
功能。
保留父母的遗产 __init__()
函数,添加对父级的调用__init__()
功能:
现在我们已经成功添加了 __init__() 函数,并保留了父类的继承,我们准备在 __init__()
功能。
使用 super() 函数
Python 也有一个 super()
函数将使子类从其父类继承所有方法和属性:
通过使用 super()
函数时,您不必使用父元素的名称,它将自动从其父级继承方法和属性。
添加属性
例子
添加一个名为 graduationyear
到Student
班级:
学生班级(人):
def __init__(self, fname, lname):
超级()。__init__(fname,lname)
self.毕业年份 = 2019
亲自尝试 »
在下面的例子中,年份 2019
应该是一个变量,并传递到Student
类中创建学生对象时,需要添加另一个参数。为此,请在 __init__() 函数中添加另一个参数:
例子
添加 year
参数,并在创建对象时传递正确的年份:
学生班级(人):
def __init__(self, fname, lname, year):
超级()。__init__(fname,lname)
self.毕业年份 = 年份
x = 学生(“Mike”,“Olsen”,2019)
亲自尝试 »
添加方法
例子
添加一个名为 welcome
到Student
班级:
学生班级(人):
def __init__(self, fname, lname, year):
超级()。__init__(fname,lname)
self.毕业年份 = 年份
欢迎(自我):
print("欢迎", self.firstname, self.lastname, "加入班级", self.graduationyear)
亲自尝试 »
如果在子类中添加与父类中函数同名的方法,则父类方法的继承将被覆盖。