特徵:
1、介面是一種規範,實現多型
2、介面不能被例項化。
3、介面中的成員不能加「訪問修飾符」,介面中的成員訪問修飾符預設為public
4、介面中的成員不能有任何實現,所以不能夠被例項化
5、介面中只有方法、屬性、索引器、事件,不能夠有「字段」。
6、介面與介面之間可以繼承,並且可以多繼承。
7、實現介面的自雷必須實現該介面的全部成員。所以介面要遵循介面隔離原則,降低功能之間的耦合度。
8、乙個類可以同時繼承多個介面,如果乙個類繼承介面的同時,也繼承了類,則先繼承類,再寫整合的介面。
9、當乙個抽象類實現介面的時候,如果不想實現介面的成員,可以把該成員實現為abstract.
10、顯示實現介面,只能用介面變數來呼叫,因為(顯示介面後成員會變成private);
使用場景:
當多個物件不能夠抽象出共同的父類,但有共同的行為,這種情況下就需要將這種行為封裝成介面。比如:登記這種行為:人,汽車,房子,都需要等級 ,但是這三類沒有共同的特徵。所以要單獨將這一行為封裝成乙個介面。再如:電腦的usb介面,如果符合usb介面規範,就可以插進去,並且讀取資料,但是iphone ,***,u盤他們不是同一種型別。所以usb介面規範就要單獨寫了。
u盤讀取資料,只實現讀和寫兩個功能。
***除了要實現讀和寫的功能,還要有唱的功能,所以要再實現乙個唱的介面。兩個介面同時也實現了,物件導向的「介面隔離原則」。
抽象類與介面的應用場景
介面 inte ce 的應用場合 類與類之前需要特定的介面進行協調,而不在乎其如何實現。作為能夠實現特定功能的標識存在,也可以是什麼介面方法都沒有的純粹標識。需要將一組類視為單一的類,而呼叫者只通過介面來與這組類發生聯絡。需要實現特定的多項功能,而這些功能之間可能完全沒有任何聯絡。抽象類 abstr...
抽象類和介面的區別以及使用場景
兩者都是抽象類,都不能例項化。inte ce實現類及abstrct class的子類都必須要實現已經宣告的抽象方法。inte ce需要實現,要用implements,而abstract class需要繼承,要用extends。乙個類可以實現多個inte ce,但乙個類只能繼承乙個abstract c...
抽象類和介面的區別以及使用場景
兩者都是抽象類,都不能例項化。inte ce實現類及abstrct class的子類都必須要實現已經宣告的抽象方法。inte ce需要實現,要用implements,而abstract class需要繼承,要用extends。乙個類可以實現多個inte ce,但乙個類只能繼承乙個abstract c...