情話 介面隔離原則

2021-09-19 07:18:03 字數 2423 閱讀 3890

介面隔離原則

故事開始

情節一、一對情侶,男孩給女孩買了一輛跑車;女孩報了駕校,準備考駕照。

那麼我們先使用程式來定義這輛跑車。跑車屬於車裡的乙個種類,具有跑的屬性,那麼我們定義乙個跑的介面,讓跑車來實現這個跑的功能。

public

inte***ce

ivehicle

public

class

sportscar

:ivehicle

}

public

class

driver

public

void drive (

)}

class

program

}

跑車-ruing :>>>>>>>>>>>>
情節二、妹子開跑車追尾了,打**向男主哭訴;男子安慰到,別哭,明兒個哥給你買輛坦克,妹子喜笑顏開。在程式中定義男主買的坦克,坦克按分量分三種型別,分別是輕型坦克、中型坦克、重型坦克。坦克會跑、能**。

public

inte***ce

itank

public

class

lighttank

:itank

public

void run (

)}

public

class

mediumtank

:itank

public

void run (

)}

public

class

weighttank

:itank

public

void run (

)}

情節

三、女孩準備開坦克上街

public

class

driver

public

void drive (

)}

我們發現並不能使用原先的駕照來開坦克。那麼回頭觀察一下我們的itank介面,發現,這個介面不僅定義了run方法,而且也定義了fire方法,妹子總不能上街的時候,開著坦克隨意**吧,所以**這個功能,妹子是使用不到的。那麼,我們就需要把**這個功能,單獨定義乙個介面,在需要使用到的類中實現。

public

inte***ce

iweapon

public

inte***ce

itank

:ivehicle

,iweapon

class

program

}

跑車-ruing :>

>

>

>

>

>

>

>

>

>

>

>

輕型坦克-fire>

>

>

>

>

>

>

>

>

中型坦克-runing :

>

>

>

>

>

>

重型坦克-runing :

>

>

>

情節

四、加戲,妹子嫌開坦克不過癮,要開飛機

public

inte***ce

ifly

:ivehicle

public

class

airplane

:ifly

public

void run (

)}

class program 

}

輸出如下:

飛機轟隆隆:>>>>>>>>>>>>>>>
總結

介面隔離原則

一 isp簡介 isp inte ce segregation principle 使用多個專門的介面比使用單一的總介面要好。乙個類對另外乙個類的依賴性應當是建立在最小的介面上的。乙個介面代表乙個角色,不應當將不同的角色都交給乙個介面。沒有關係的介面合併在一起,形成乙個臃腫的大介面,這是對角色和介面...

介面隔離原則

介面隔離原則 isp 客戶端不應該依賴於它不需要的介面。另一種說法是,類間的依賴關係應該建立在最小的介面上。這樣就可以對客戶端隱藏其他的介面資訊,客戶端 只需要知道它需要的內容介面,然後去處理即可,可以更加專注於對功能的實現,其他一概不管。這就是用最小化介面隔離了實現類的細節,也促使我們將龐大的介面...

介面隔離原則

我們在學校的時候,每學期都會評比三好學生,通過德智體美勞全面考查,選舉出優秀的學生,接下來我們以這個為例 首先,我們定義乙個三好學生的介面 public inte ce igoodstudent 三好學生的實現類,每個學生都有名字的,三好學生也不例外 public class goodstudent...