python版本在3.0以上
class A:
def __init__(self):
self.n = 3
def ad(self, m):
self.n += m
class B(A):
def __init__(self):
self.n = 4
def ad(self, m):
super().ad(m)
self.n+= 4
a = B()
a.ad(2)
print(a.n)
得数为10,但为什么不是9呢?
因为类B虽然调用了A的方法,但是没有调用方法A的默认值(n = 3),所以得数为10而不是9,
(计算时全程用n=4, 而不是有时候n=3)