介面:
1.屬於任何類或結構的一組相關功能
2.定義:inte***ce關鍵字定義,可由方法,屬性,事件,索引器這四種成員型別的任意組合組成
例子:inte***ce eatbehairor{}
介面的特徵:
1、介面類似於抽象基類,不能
直接例項化介面;介面中的方法都是
抽象方法,實現介面的任何非抽象型別都必須實現介面的
所有成員。
2、介面不能包含常量、字段、運算子、例項建構函式、析構函式或型別、不能包含靜態成員。
3、介面成員是自動公開的,且不能包含任何
訪問修飾符。
4、介面自身可從多個介面繼承,類和結構可繼承多個介面,但
介面不能繼承類。
例子:inte***ce iprogram
class program:iprogram
staticvoid main(string args)
}5.一般情況,當類或者結構要實現的是單個介面,可以使用
隱式實現。
6.如果類或者結構繼承了多個介面且介面中具有相同名稱成員時,就要用到顯式實現,當顯式實現方式存在時,隱式實現方式就失效了。
class program : iprogram, iaprogram
void iaprogram.fun()
//顯式實現介面iaprogram
介面的繼承:
介面繼承和類繼承不同:
1.類繼承不僅是說明繼承,而且也是實現繼承;而介面繼承只是說明繼承。
2.類繼承只允許單繼承,但是介面繼承允許多繼承,乙個子介面可以有多個父介面。
inte***ce iprogram
inte***ce iaprogram:iprogram
class program : iaprogram
staticvoid main(string args)
}介面的覆蓋:
乙個類如果實現了某個介面那麼它必須覆蓋該介面中的所有方法
inte***ce iprogram
abstract class aprogram : iprogram
}class program:aprogram
staticvoid main(string args)
}介面和抽象類的區別
1.介面用於規範,抽象類用於共性。
2.介面中只能宣告方法,屬性,事件,索引器。而抽象類中可以有方法的實現,也可以定義非靜態的類變數。
3.抽象類是類,所以只能被單繼承,但是介面卻可以一次實現多個。
4.抽象類可以提供某些方法的部分實現,介面不可以。
5.抽象類的例項是它的子類給出的。介面的例項是實現介面的類給出的。
6.在抽象類中加入乙個方法,那麼它的子類就同時有了這個方法。而在介面中加入新的方法,那麼實現它的類就要重新編寫(這就是為什麼說介面是乙個類的規範了)。
7.介面成員被定義為公共的,但抽象類的成員也可以是私有的、受保護的、內部的或受保護的內部成員(其中受保護的內部成員只能在應用程式的**或派生類中訪問)。
8.此外介面不能包含字段、建構函式、析構函式、靜態成員或常量。
microsoftinternetexplorer402documentnotspecified7.8normal0
Unity之物件類總結
抽象類 1.abstract定義類和方法 2.實現一部分,剩下的子類來完成 3.抽象類是父類 例子 abstract class father 只宣告沒實現的 public abstract void get 只宣告 class son father 剩下的用子類來實現 public overrid...
unity之飛機大戰總結
到今天為止 將飛機大戰基本做的差不多了 今天來總結一下 用到了什麼功能和知識點。我一共總結了這麼以下幾點 1.因為是飛機大戰,需要一方我方飛機 乙個敵方飛機 ai 我方飛機需要用鍵盤控制。首先是鍵盤控制 float x input.getaxis vertical float z input.get...
Unity3D學習之(介面)
1 介面 介面描述的是可屬於任何類或結構的一組相關功能,所以實現介面的類或結構必須實現介面定義中指定的介面成員。介面使用inte ce 關鍵字進行定義,可由方法 屬性 事件 索引器或這四種成員型別的任意組合構成。2 介面的特性 介面類似於抽象基類,不能直接例項化介面 介面中的方法都是抽象方法,實現介...