java 介面的思想

來源:互聯網
上載者:User

標籤:interface   介面   

介面的思想:

舉例:膝上型電腦,USB介面的故事。



1,介面的出現對功能是實現了擴充。
2,介面的出現定義了規則。
3,介面的出現降低了耦合性(解耦)。

介面的出現,完成瞭解耦,說明有兩方,一方在使用這個規則,另一方在實現這個規則。比如膝上型電腦使用這個規則,而外圍裝置在實現這個規則。


介面和抽象類別的區別

描述事物。
犬。按照功能分類。導盲犬,緝毒犬...

犬:
吼叫();
吃飯();

<span style="font-size:18px;">abstract class 犬{public abstract void 吼叫();public abstract void 吃飯();}class 緝毒犬 extends 犬{public void 吼叫(){}public void 吃飯(){}public void 緝毒(){}}//對於緝毒,有可能還有緝毒豬,具備者緝毒功能,應該將緝毒功能抽取。//對緝毒進行描述。abstract class 緝毒{public abstract void 緝毒();}</span>

緝毒犬既需要犬的功能又需要緝毒的功能。
無法直接多繼承。
是否可以多實現呢?可以的。
犬是介面,緝毒也是介面。緝毒犬多實現即可。
類負責描述的是事物的準系統。介面負責描述事物的擴充功能。
緝毒犬是犬中一種。is a 關係,
將犬定義成類。而緝毒是犬的一個擴充功能。這時將緝毒定義介面。

這時描述就變成了這樣:

<span style="font-size:18px;">interface 緝毒able{public abstract void 緝毒();}class 緝毒犬 extends 犬 implements 緝毒able{public  void 吼叫(){code..}public  void 吃飯(){}public  void 緝毒(){}}</span>

緝毒犬的沒有自己的功能,他的功能全部來自父類和介面。抽取是抽取出共有的功能,在緝毒犬中雖然代碼量沒變,但是並沒有定義類,它只需要完善內容就可以了。

小節:
1,抽象類別是描述事物的準系統,可以定義非抽象的方法。
   介面中定義只能是抽象方法,負責功能的擴充。
2,類與類之間是繼承關係 is a關係。
   類與介面之間是實現關係 like a 關係。


java 介面的思想

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.