设计一个父类,并派生多个子类

设计一个父类,表示游戏角色:派生出多个子类用于表示不同职业的角色。为每个类设计必要的属性和方法,并实例化

下面是我的代码。

class Person(object):#必须以object为基类
    def __init__(self,name = '',sex = '',HP = '',SP = '',ATK = '',faqiang ='',hujia = '',mokang = '',yisu = ''):
        self.setName(name)
        self.setSex(sex)
        self.sethp(HP)
        self.setsp(SP)
        self.setatk(ATK)
        self.setFQ(faqiang)
        self.setHJ(hujia)
        self.setMK(mokang)
        self.setYS(yisu)

    def setName(self,name):
        if not isinstance(name,str):
            print('name must be string.')
            return
        self.__name = name

    def setSex(self,sex):
        if sex != 'Man' and sex != 'Woman':
            print('sex must be "man" or "woman"')
            return
        self.__sex = sex

    def sethp(self,HP):
        self.__HP = HP

    def setsp(self,SP):
        self.__SP = SP

    def setatk(self,ATK):
        self.__ATK = ATK

    def setFQ(self,faqiang):
        self.__faqiang = faqiang

    def setHJ(self,hujia):
        self.__hujia = hujia

    def setMK(self,mokang):
        self.__mokang = mokang

    def setYS(self,yisu):
        self.__yisu = yisu

    def show(self):
        print('姓名:',self.__name)
        print('性别:',self.__sex)
        print('生命值:',self.__HP)
        print('法力值:',self.__SP)
        print('攻击力:',self.__ATK)
        print('护甲:',self.__hujia)
        print('法强:',self.__faqiang)
        print('魔抗:',self.__mokang)
        print('移速:',self.__yisu)
     ###父类设计完毕

class ADC(Person):
    def __init__(self,name = '',sex = 'man',HP = 2000,SP = 300,ATK = 150,faqiang =0,hujia = 80,mokang = 40,yisu = 300):
        super(ADC,self).__init__(name,sex,HP,SP,ATK,faqiang,hujia,mokang,yisu)

    def show(self):
        super(ADC,self).show()

if __name__ == '__main__':
    VN = ADC('惩戒之箭','Man',2000,300,150,0,80,40,300)
    GaiLun = ADC('盖伦','Man',4000,0,100,0,200,60,300)
    MS = ADC('盲僧','Man',2200,0,120,0,60,60,400)
    GaiLun.show()
    print()
    VN.show()
    print()
    MS.show()
    


        


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值