zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python面向对象编程-三大特性-继承

Python继承 特性 三大 面向对象编程
2023-06-13 09:18:42 时间

在 Python 面向对象编程中,继承是三大特性之一,它允许我们创建一个新类,并从一个或多个现有类继承属性和方法。在本文中,我们将详细讨论 Python 中继承的概念、语法和使用。

继承的概念

继承是面向对象编程的重要概念之一,它允许我们创建一个新的类,并从一个或多个现有的类中继承属性和方法。被继承的类称为父类或超类,新的类称为子类或派生类。子类可以通过继承父类的属性和方法来扩展或修改它们,同时还可以添加新的属性和方法。继承的主要目的是代码重用和减少重复编码。

继承的语法

在 Python 中,我们可以使用关键字 class 来定义一个类,语法如下:

class ClassName(ParentClass):
    # Class body

在上面的代码中,ClassName 是新类的名称,ParentClass 是父类的名称。我们可以从一个或多个父类中继承属性和方法,用逗号分隔即可。如果我们没有指定任何父类,则默认继承 object 类。

下面是一个简单的例子,演示了如何从一个父类中继承属性和方法:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def info(self):
        print(f"My name is {self.name} and I'm {self.age} years old.")

class Student(Person):
    def __init__(self, name, age, grade):
        super().__init__(name, age)
        self.grade = grade

    def info(self):
        super().info()
        print(f"I'm in grade {self.grade}.")

# 创建一个 Student 对象
s = Student("Alice", 12, 6)

# 调用子类的方法
s.info()

在上面的代码中,我们定义了一个 Person 类,它有一个构造函数 __init__() 和一个实例方法 info()。然后,我们定义了一个 Student 类,它从 Person 类中继承了构造函数和 info() 方法,并添加了一个新的属性 grade。在子类的构造函数中,我们使用 super() 函数调用父类的构造函数,并传递 nameage 参数。在子类的 info() 方法中,我们首先调用父类的 info() 方法,然后输出 grade 属性。