Java 自學 - 介面與繼承 介面
設計 Java 的介面
在設計 LOL 的時候,進攻類英雄有兩種,一種是進行物理系攻擊,一種是進行魔法系攻擊
這時候,就可以使用 介面來實現這個效果。
介面就像是一種約定,我們約定某些英雄是物理系英雄,那麼他們就一定能夠進行物理攻擊。
步驟 1 : 物理攻擊介面
建立一個介面 File->New->Interface AD ,宣告一個方法 physicAttack 物理攻擊,但是沒有方法體,是一個 “ 空” 方法
package charactor; public interface AD { //物理傷害 public void physicAttack(); }
步驟 2 : 設計一類英雄,能夠使用物理攻擊
設計一類英雄,能夠使用物理攻擊,這類英雄在 LOL 中被叫做 AD 類:ADHero 繼承了 Hero 類,所以繼承了 name,hp,armor 等屬性
實現某個介面,就相當於承諾了某種約定
所以, 實現了 AD 這個介面,就 必須提供 AD 介面中宣告的方法 physicAttack() 實現在語法上使用關鍵字 implements
package charactor; public class ADHero extends Hero implements AD{ @Override public void physicAttack() { System.out.println("進行物理攻擊"); } }
步驟 3 : 魔法攻擊介面
建立一個介面 File->New->Interface AP ,宣告一個方法 magicAttack 魔法攻擊,但是沒有方法體,是一個 “空” 方法
package charactor; public interface AP { public void magicAttack(); }
步驟 4 : 設計一類英雄,只能使用魔法攻擊
設計一類英雄,只能使用魔法攻擊,這類英雄在 LOL 中被叫做 AP 類:APHero 繼承了 Hero 類,所以繼承了 name,hp,armor 等屬性 同時,實現了 AP 這個介面,就 必須提供 AP 介面中宣告的方法 magicAttack()
package charactor; public class APHero extends Hero implements AP{ @Override public void magicAttack() { System.out.println("進行魔法攻擊"); } }
步驟 5 : 設計一類英雄,既能進行物理攻擊,又能進行魔法攻擊
一種英雄,能夠同時進行物理攻擊和魔法攻擊 比如伊澤瑞爾,皮城女警凱特琳
package charactor; //同時能進行物理和魔法傷害的英雄public class ADAPHero extends Hero implements AD,AP{ @Override public void magicAttack() { System.out.println("進行魔法攻擊"); } @Override public void physicAttack() { System.out.println("進行物理攻擊"); } }
練習:
(設計一個治療者介面:Healer
該介面宣告有方法: heal ()
設計一個 Support 類,代表輔助英雄,繼承 Hero 類,同時實現了 Healer 這個介面)
答案:
public interface Healer { public void heal(); //加血}
.
public class Support extends Hero implements Healer{ @Override public void heal() { System.out.println(name+" 加了一口血"); } }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70026910/viewspace-2945223/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java中介面與繼承的區別Java繼承
- 繼承(extends)與介面( implements)繼承
- Java基礎10 介面的繼承與抽象類Java繼承抽象
- TypeScript 介面繼承TypeScript繼承
- TypeScript 介面繼承類TypeScript繼承
- 類的繼承,介面的使用繼承
- Kotlin學習快速入門(3)——類 繼承 介面Kotlin繼承
- 介面是否可繼承(extends)介面? 抽象類是否可實現 (implements)介面? 抽象類是否可繼承具體類(concrete class)?繼承抽象
- 為啥要繼承一個空介面繼承
- 【JAVA】筆記(5)--- final;抽象方法;抽象類;介面;解析繼承,關聯,與實現;Java筆記抽象繼承
- java繼承與多型Java繼承多型
- Java抽象類、繼承及多型和介面卡的實現Java抽象繼承多型
- 第二十八節:Java基礎-進階繼承,抽象類,介面Java繼承抽象
- 多繼承 與 多重繼承繼承
- 類與介面(三)java中的介面與巢狀介面Java巢狀
- 關於Java中的物件、類、抽象類、介面、繼承之間的聯絡Java物件抽象繼承
- 聊聊TypeScript中類、介面之間相互繼承與實現的那些事兒TypeScript繼承
- JAVA物件導向高階二:JDK8開始,介面中新增的三種方法 介面的多繼承,使用介面的注意事項Java物件JDK繼承
- 12.16 Java繼承Java繼承
- Java的繼承Java繼承
- java繼承extendsJava繼承
- Head First Java學習筆記(7):繼承與多型Java筆記繼承多型
- Java中的類繼承與多型Java繼承多型
- 如何講清楚 Java 物件導向的問題與知識?(類與物件,封裝,繼承,多型,介面,內部類...)Java物件封裝繼承多型
- java學習——物件導向之繼承Java物件繼承
- Java介面與陣列Java陣列
- Java 介面與抽象方法Java抽象
- Android中Module之間介面呼叫發現不了繼承關係Android繼承
- Java學習之介面Java
- Java集合繼承圖Java繼承
- java中的繼承Java繼承
- java -繼承 -重寫Java繼承
- Java繼承練習Java繼承
- odoo 繼承(owl繼承、web繼承、view繼承)Odoo繼承WebView
- Java語言搭建介面自動化框架學習一(單介面請求和響應)Java框架
- 學習Java中遇到的繼承問題Java繼承
- 物件導向 -- 三大特性之繼承 補充 抽象類 介面類物件繼承抽象
- Go語言封裝、繼承、介面、多型和斷言的案例Go封裝繼承多型