📅  最后修改于: 2023-12-03 15:04:37.145000             🧑  作者: Mango
继承是面向对象编程中的一个特性,它可以让子类自动拥有父类的属性和方法。子类可以继承其父类的所有公有成员变量和函数,而私有的成员变量和函数则不能被继承。通过继承实现了代码的复用,可以避免代码的重复编写。
在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中继承的设置方法和多重继承的应用。继承是面向对象编程中非常重要的概念,掌握了继承之后,可以更加灵活地处理面向对象的问题。