Python 继承 - 奇客谷qikegu.com

    xiaoxiao2025-05-03  33

    Python 介绍Python 开发环境搭建Python 语法Python 变量Python 数值类型Python 类型转换Python 字符串(String)Python 运算符Python 列表(list)Python 元组(Tuple)Python 集合(Set)Python 字典(Dictionary)Python If … ElsePython While 循环Python For 循环Python 函数Python LambdaPython 类与对象Python 继承Python 迭代器(Iterator)Python 模块Python 日期(Datetime)Python JSONPython 正则表达式(RegEx)Python PIP包管理器Python 异常处理(Try…Except)Python 打开文件(File Open)Python 读文件Python 写文件Python 删除文件与文件夹

    Python 继承

    继承允许我们在定义一个类时,让该类继承另一个类的所有方法和属性。

    父类是被继承的类,也称为基类。

    子类是继承父类的类,也称为派生类。

    创建父类

    任何类都可以是父类,创建父类的语法和创建普通类是一样的:

    示例

    创建一个名为Person的类,包含属性:firstname,lastname, 方法:printname:

    class Person: def __init__(self, fname, lname): self.firstname = fname self.lastname = lname def printname(self): print(self.firstname, self.lastname) # 使用Person类创建对象,然后执行printname方法: x = Person("Kevin", "Wu") x.printname()

    复制

    创建子类

    要创建子类,需将父类作为参数传入:

    示例

    创建一个名为Student的类,它将继承Person类的属性和方法:

    class Student(Person): pass

    复制

    注意: 当您不想给类添加任何属性或方法时,使用pass关键字。

    现在Student类具有与Person类相同的属性和方法。

    示例

    使用Student类创建对象,然后执行printname方法:

    x = Student("Kevin", "Tony") x.printname()

    复制

    添加init()函数

    到目前为止,我们已经创建了一个子类,它继承了父类的属性和方法。

    现在将__init__()函数添加到子类(不再使用pass关键字)。

    注意: 每当创建新对象时,都会自动调用类的__init__()函数。

    示例

    将__init__()函数添加到Student类:

    class Student(Person): def __init__(self, fname, lname): # 添加属性

    复制

    当您添加了__init__()函数后,子类将不再继承父类的__init__()函数。

    注意: 子函数的__init__()重写父函数的__init__()。

    要保留父类的__init__()函数的功能,可在子类的__init__()函数中调用父类的__init__()函数:

    示例

    class Student(Person): def __init__(self, fname, lname): Person.__init__(self, fname, lname)

    复制

    现在,我们已经给子类添加了__init__()函数,并调用了父类的__init__()函数,下面我们将在__init__()函数中添加其他功能。

    添加属性

    示例

    在Student类中添加一个关于毕业年份的属性:

    class Student(Person): def __init__(self, fname, lname): Person.__init__(self, fname, lname) self.graduationyear = 2019

    复制

    2019年应该是一个变量,并在创建学生对象时传递给Student类。为此,在__init__()函数中添加另一个year参数:

    示例

    添加一个year参数,创建对象时传入毕业年份:

    class Student(Person): def __init__(self, fname, lname, year): Person.__init__(self, fname, lname) self.graduationyear = year x = Student("Kevin", "Tony", 2019)

    复制

    加入方法

    示例

    在Student类中添加一个名为welcome的方法:

    class Student(Person): def __init__(self, fname, lname, year): Person.__init__(self, fname, lname) self.graduationyear = year def welcome(self): print("Welcome", self.firstname, self.lastname, "to the class of", self.graduationyear)

    复制

    如果在子类中添加父类中的同名方法,则父类的方法将被重写。


    Doc navigation

    ← Python 类与对象

    Python 迭代器(Iterator) →

    最新回复(0)