2012年2月9日 星期四

c#抽象類別與介面定義



抽象類別:
是用來定義相同種類的物件,所需要具備的共通特性;例如動物(Animal),是所有動物的基底,所有動物具有吃、喝、睡覺等等共同的特性,但是,每種動物吃的東西不一樣(人類屬雜食,老虎只吃肉...),所以我們可以將這些基本特性,寫成抽象類別與方法,讓其他類別來繼承並且實做方法,這就就抽象類別的意義。
介面:
是用來定義不同種類的物件中,針對某種特性,所需要具備的相同功能;我們說,飛機(airplane)會飛,鳥(bird)也會飛,這兩個物件是不同種類的,可是他們都具有會飛的特性,差別在於飛行的方式不同,一個靠機械完成,一個則是拍動翅膀,所以,我們可以將飛行(Fly)寫成介面,物件只要繼承這個介面並且方法,該物件就具有飛行的特性了。
另一種思考:
  • 類別是對物件的抽象:建構物件的各式成員與行為模式。
  • 抽象類別是對類別的抽象:提供基底,專門給同性質的類別繼承。
  • 介面是對行為的抽象:任何類別若繼承介面並且實做後,皆具有此功能。

以上定義來源出自:.NET 隨筆 

沒有留言:

張貼留言

Visual Studio JS intellisense 失效解決方式

  試了好久,發現到工具>選項>IntelliCode js項目設定啟用,重新開啟VS就正常了! 後來發現是TypeScript3.2版有問題停用,使用4.3版的TypeScript即可