亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我怎么知道何時創建界面?

我怎么知道何時創建界面?

FFIVE 2019-08-23 15:40:26
我怎么知道何時創建界面?我正處于開發學習的某個階段,我覺得我必須更多地了解接口。我經常閱讀它們,但似乎我無法掌握它們。我已經閱讀過這樣的例子:動物基類,IAnimal界面,如'Walk','Run','GetLegs'等等 - 但我從來沒有做過某些事情,感覺就像“嘿我應該使用界面這里!”我錯過了什么?為什么我要掌握這么難的概念!我只是因為我可能沒有意識到對一個人的具體需求而感到恐懼 - 主要是因為他們理解它們時缺少一些方面!這讓我覺得自己在成為開發者方面缺少一些東西!如果有人有過這樣的經歷并取得了突破,我會很感激如何理解這個概念。謝謝。
查看完整描述

3 回答

?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

假設您想要模擬在您嘗試入睡時可能發生的煩惱。

接口前的模型

class Mosquito {
    void flyAroundYourHead(){}}class Neighbour{
    void startScreaming(){}}class LampJustOutsideYourWindow(){
    void shineJustThroughYourWindow() {}}

正如你清楚地看到,當你試圖睡覺時,很多“事情”會令人討厭。

沒有接口的類的用法

但是當談到使用這些類時,我們遇到了問題。他們沒有任何共同之處。您必須單獨調用每個方法。

class TestAnnoyingThings{
    void testAnnoyingThinks(Mosquito mosquito, Neighbour neighbour, LampJustOutsideYourWindow lamp){
         if(mosquito != null){
             mosquito.flyAroundYourHead();
         }
         if(neighbour!= null){
             neighbour.startScreaming();
         }
         if(lamp!= null){
             lamp.shineJustThroughYourWindow();
         }
    }}

帶接口的模型

為了克服這個問題,我們可以引入一個接口

interface Annoying{
   public void annoy();}

并在類中實現它

class Mosquito implements Annoying {
    void flyAroundYourHead(){}
    void annoy(){
        flyAroundYourHead();
    }}class Neighbour implements Annoying{
    void startScreaming(){}
    void annoy(){
        startScreaming();
    }}class LampJustOutsideYourWindow implements Annoying{
    void shineJustThroughYourWindow() {}
    void annoy(){
        shineJustThroughYourWindow();
    }}

用于接口

這將使這些類的使用更容易

class TestAnnoyingThings{
    void testAnnoyingThinks(Annoying annoying){
        annoying.annoy();
    }}


查看完整回答
反對 回復 2019-08-23
  • 3 回答
  • 0 關注
  • 534 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號