設計乙個父類,並派生多個子類

2021-07-25 14:02:52 字數 2058 閱讀 3739

設計乙個父類,表示遊戲角色:派生出多個子類用於表示不同職業的角色。為每個類設計必要的屬性和方法,並例項化

下面是我的**。

class person(object):#必須以object為基類

def __init__(self,name = '',*** = '',hp = '',sp = '',atk = '',faqiang ='',hujia = '',mokang = '',yisu = ''):

self.setname(name)

self.set***(***)

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 set***(self,***):

if *** != 'man' and *** != 'woman':

print('*** must be "man" or "woman"')

return

self.__*** = ***

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.__***)

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 = '',*** = 'man',hp = 2000,sp = 300,atk = 150,faqiang =0,hujia = 80,mokang = 40,yisu = 300):

super(adc,self).__init__(name,***,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()

求助 乙個父類被多個子類繼承時出現重定義錯誤

初學 題目描述 類的繼承 編寫程式求球,圓柱的表面積和體積。1 定義基類圓,至少含有乙個資料成員半徑 2 定義基類的派生類 球,圓柱都含有求表面積和體積的成員函式和輸出函式 3 在main中求解球,圓柱的表面積和體積 父類circle.h class circle circle.cpp includ...

子類繼承父類,new 乙個子類物件的過程(待完善)

父類 public class jvmbase public static void basestaticmethod public jvmbase 子類 public class jvmsub extends jvmbase public static void substaticmethod p...

乙個基類Person的多個派生類

題目內容 已知基類person的定義如下 class person 請通過繼承的方法建立兩個派生類,其中 派生類teacher 1 新增的資料成員有 char dept 20 int salary 2.新增的成員函式有 建構函式,並使用基類的register 3.重寫的成員函式有 void show...