Java-
Java多態作業練習
第一題
定義一個角色類,該類中包含角色的攻擊力、角色名稱、技能,
同時產生出3中不同的角色(德瑪西亞、寒冰射手、后羿)
在創建該3中角色類的時候通過構造方法將當前角色所對應的
角色屬性值傳遞給父類完成角色創建。
再定義一個游戲類,該類中提供一個創建角色的方法和釋放技能
的方法,定義一個測試類,通過控制台提示完成角色的技能是否操作。
控制台提示要求:
1、請選擇需要創建的英雄:1、德瑪西亞 2、寒冰射手 3、后羿
2、在選擇后控制台提示XXX英雄被創建
3、提示請選擇是否釋放技能 ? 1、釋放 2、不釋放
4、如果選擇1控制台就提示 XXX英雄,成功釋放XXX技能
如果選擇2 直接程序結束。提示游戲結束。
第二題
(1)定義一個寵物類(Pet),它有兩個方法:叫cry(),吃東西eat(),定義寵物的子類狗(Dog),貓(Cat),覆蓋父類的cry(),eat()方法,里面寫System.out.println("貓吃了魚")這樣的打印語句,另外狗有自己的方法看門guardEntrance(),貓自己獨有的方法捉老鼠huntMice()
定義一個Test類,在main中定義兩個Pet變量,pet1,pet2,采用引用轉型實例化Dog,Cat,分別調用Pet的cry(),eat();
(2)將Pet引強制轉換為具體的Dog,Cat,在調Dog的guardEntrance(),Cat的huntMice()(提示:先用instanceof進行類型判斷)
Pet p = new Dog()
p.guradEntrance()
(3)(思考)編寫PetPark類,添加喂養寵物feedPet(Pet pet)的方法,在feedPet中調cry(),eat()方法,實例化PetPark類,再測試類中實例化狗 Dog dog = new Dog(), 貓 Pet cat = new Cat(),PetPark分別調feedPet()方法分別傳參數cat,dog。深入理解引入轉型和多態
第三題
編寫 電話 移動電話 固定電話 體現三者之間的繼承關系
電話 包含 屬性:品牌,號碼
方法:打電話 接電話
手機
重寫父類中 打電話 接電話
方法 :接收短信
固定電話
重寫父類中 打電話 接電話
方法:接寬帶
電話廠:
方法:測試電話 testPhone(Phone p) ,能在方法內調用電話的打電話與接電話方法
生產電話 getPhone(int type)
當 type 為1 則生成一個固定電話
Type為2 則生成一個手機
其他 則生成一個 電話
××注意考慮該方法的返回類型××