C#中接口和方法的運用(Fourteenth Day)
由於周五我有一些事情沒來得及總結當天的知識,所以在今天總結一下周五在雲和學院所學到的有關委托的知識。
理論:
接口:
•接口的定義:interface關鍵字,接口中可以有屬性、方法(未實現)
•接口的名稱通常以“I”開頭,如IList
•如果一個類即繼承了類又實現了接口,那麼類必須寫在前面。一個類只能繼承一個父類,但可以實現多個接口。
•class Student : Person , IComparable(這是已經定義好的接口)
•完全抽象的一種約定
•接口就是用來實現的
•語法:
[訪問修飾符] interface 接口名
{
// 接口成員定義
}
Interface IfFly
{
void IFly();
}
•接口只有方法、屬性、索引和事件的聲明,所有成員默認為public
C#中的接口和類有什麼異同
不同點:
•不能直接實例化接口。
•接口不包含方法的實現。
•接口可以多繼承,類只能單繼承。
•類定義可在不同的源文件之間進行拆分。
•相同點:
•接口、類和結構都可以從多個接口繼承。
•接口類似於抽象基類:繼承接口的任何非抽象類型都必須實現接口的所有成員。
•接口和類都可以包含事件、索引器、方法和屬性。
•類之間不支持,接口之間支持。類對接口叫做實現,不叫繼承。 類是父親、接口是能力,能有多個能力,但不能有多個父親。
類與成員的修飾符
•類
–public、internal、abstract、sealed、static
•成員(方法)
–public、private、protected、internal
–protected internal
–abstract、virtual、new、override
–static
靜態方法和實例方法(定義和調用)
實操:
橡皮rubber鴨子、木wood鴨子、真實(real)的鴨子duck。三個鴨子都會游泳,而橡皮鴨子和真實的鴨子都會叫,只是叫聲不一樣,橡皮鴨子“唧唧”叫,真實地鴨子“嘎嘎”叫,木鴨子不會叫.接口實現.
首先定義一個父類,Duck,
定義接口和三個子類,分別是:rubber,wood,real。
在Main函數裡使用
方法的運用:
動物animal 都有吃eat和叫bark的方法,狗dog和貓cat叫的方法不一樣.父類中沒有默認的實現所喲考慮用抽象方法。
根據題意,定義父類,和兩個子類