面向对象:继承 is a 与super使用

当所有要创建的类有共同的属性,可以提取出来创建一个基类(父类),其他类继承父类即可拥有这些属性,减少代码冗余。

继承父类属性时会使用到super关键字,可以的格式有 : super(),super(type,object)相当于下例中super(Student,self),底层会进行isinstance判断,看self是否是Student类型的,是否是Student生出来的,此时便用到了上节所说的自定义类型。      其实不加参数和带两个参数作用一致。

class Parent:
    def __init__(self,name,age,sex):
        self.name=name
        self.age=age
        self.__sex=sex
        
class Student(Parent):
    def __init__(self,clazz,name,age,sex):   
        self.clazz=clazz              #自己的初始化参数
        #要继承父类的属性,用到super关键字,一个父类对象
        super().__init__(name,age,sex)#传这些参数进父类
    def __str__(self):
        return self.name+str(self.age)+self._Parent__sex+str(self.clazz)
        
s=Student(3,'小黄',18,'男') 
print(s)   
    

当要使用父类的方法,但是有自己的东西需要修改,可以在子类中使用相同方法名来重写父类方法,而父类中的方法可以通过super().方法()来调用,然后在子类方法中重写。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值