重写普通方法和构造方法------原类的方法会被覆盖

重写普通方法和构造方法


在类的继承中,当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

 

转载于:https://www.cnblogs.com/effortsing/p/10388076.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值