📜  Python中的继承 |设置 2(1)

📅  最后修改于: 2023-12-03 15:04:37.145000             🧑  作者: Mango

Python中的继承 |设置 2

什么是继承?

继承是面向对象编程中的一个特性,它可以让子类自动拥有父类的属性和方法。子类可以继承其父类的所有公有成员变量和函数,而私有的成员变量和函数则不能被继承。通过继承实现了代码的复用,可以避免代码的重复编写。

设置继承

在Python中,设置继承非常简单。只需要在定义子类时,在其类名后加上括号,括号中写入父类的名称。例如:

class Parent:
    def __init__(self):
        self.parent_attr = "I am a parent."

    def parent_method(self):
        print("Calling parent method.")

class Child(Parent):
    def __init__(self):
        self.child_attr = "I am a child."
        # 调用父类的初始化函数
        super().__init__()

    def child_method(self):
        print("Calling child method.")

c = Child()  # 实例化Child类对象
c.child_method()  # 调用子类的方法
c.parent_method()  # 通过子类调用父类的方法
print(c.child_attr)  # 访问子类的属性
print(c.parent_attr) # 通过子类访问父类的属性

以上程序的输出结果为:

Calling child method.
Calling parent method.
I am a child.
I am a parent.

这里定义了两个类,Parent和Child。在Child类的定义中,继承了Parent类。在Child类的构造函数中,首先调用了父类的构造函数,然后再定义了子类的构造函数。由于子类继承了父类的方法和属性,可以通过子类来访问父类的方法和属性。

多重继承

Python中的多重继承是指一个类可以同时继承多个父类。如果一个类同时继承了多个父类,那么该类就会拥有所有父类的属性和方法。例如:

class A:
    def a(self):
        print("method a")

class B:
    def b(self):
        print("method b")

class C(A, B):
    def c(self):
        print("method c")

c = C()
c.a()
c.b()
c.c()

以上程序的输出结果为:

method a
method b
method c

在这个例子中,类C同时继承了类A和类B,因此可以调用类A和类B中的方法,也可以调用类C自己定义的方法。这种多重继承的优势在于可以将多个相关的类组合在一起,形成一个更加复杂的类层次结构,提高代码的可重用性和可维护性。

以上就是Python中继承的设置方法和多重继承的应用。继承是面向对象编程中非常重要的概念,掌握了继承之后,可以更加灵活地处理面向对象的问题。