多重继承;一些魔法方法

背景:世间万物总是有着这样或者那样的联系:譬如
在这里插入图片描述在这里插入图片描述为了解决上诉问题:就引入了多重继承
譬如在漫威宇宙里面:

class Marvel_Universe(object):#老祖宗类
      pass

class Earthhero(Marvel_Universe):#大类
      pass

class OtherStarhero(Marvel_Universe):#大类
      pass


class Technology_class(Earthhero):
       pass
class Superpower_class_On_E(Earthhero):
      pass


class Superpower_class_On_other(OtherStarhero)
      pass

class Tony_stark(Technology_class): #那么我们的Iron—man就相当于继承Technology_class,Earthhero,Marvel_Universe 三类
      def __init__(self,name,power,age,wealth,equipment):
          self.name=name
          self.power=power
          self.age=age
          self.wealth=wealth
          self.equipment=equipment
      def IDprint(self):
          print('I am Iron man')
          
                

关于__init__()方法的一些继承,基于上一个Tony_stark,我们写一个morgen_stark类

class Morgen_stark(Tony_stark):
    def __init__(self, age, honey_value):
        Tony_stark.__init__(self,'stark', 1000, 45, 1e100, 'a helmet and armor')  # 继承了tony的一些属性
        self.age = age  # 小摩根自己的属性
        self.honey_value = honey_value

    def getMorgeninfo(self):
        print('能力', self.power,
              '财富', self.wealth,
              '装备', self.equipment,
              '年龄', self.age,
              '可爱值', self.honey_value)
                  
Iron_man=Tony_stark('stark',1000,45,1e100,'a helmet and armor')
Iron_girl= Morgen_stark(8,3000)     
Iron_girl.getMorgeninfo()
#>>能力 1000 财富 1e+100 装备 a helmet and armor 年龄 8 可爱值 3000          

关于super()方法的操作 ,我们还是使用到Tony_stark这个类

class Morgen_stark(Tony_stark):
    def __init__(self, age, honey_value):
        Tony_stark.__init__(self,'stark', 1000, 45, 1e100, 'a helmet and armor')  # 继承了tony的一些属性
     def Info(self):
         print('my father`s pet phrase is ')
         super().IDprint()#super()函数的作用
                  
Iron_man=Tony_stark('stark',1000,45,1e100,'a helmet and armor')
Iron_girl= Morgen_stark(8,3000)     
Iron_girl.getMorgeninfo()

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值