重写普通方法和构造方法
在类的继承中,当B类继承A类时,B类就会拥有A类的所有成员变量和方法,如果B类中的方法名与A类中的方法名相同,那么B类中同方法名就会重写A类中同方法名。
如果在B类中定义了构造方法,同样也会重写A类中的构造方法,也就是说,创建B类对象,实际上是调用B类中的构造方法,而不是A类中的构造方法。
实例
class A:
def __init__(self):
print("A类的构造方法")
def method(self):
print("A类的method")
class B(A):
def __init__(self):
print("B类的构造方法")
def method(self):
print("B类的method")
b=B()
b.method()
上面的代码中,B是A的子类,而且在B类中定义了构造方法,以及与A类同名的构造方法,所以在创建B对象,以及调用method方法,都是调用B类本身的方法,程序运行结果如下所示:
E:\python\python.exe E:/progect/untitled1/untitled1/urls.py
B类的构造方法
B类的method