1.方法覆蓋overriding methods
①只有聲明爲virtual的方法才能被子類覆蓋
public virtual void G() {...} //虛方法
②覆蓋方法必須被聲明爲override
class B:A{
public override void G(){...} //覆蓋
}
注意:
覆蓋方法必須和原方法有相同的參數和可見性
static方法不能被覆蓋
2.泛型Generic Types
泛型類就類似於一個模板,可以在需要時爲這個模板傳入任何我們需要的類型。
要使用泛型,必須定義泛型類,然後將使用泛型的方法定義爲泛型類的方法成員。
訪問修飾符 class 類名<T>
{
泛型類成員定義
}
創建泛型類對象必須明確指定一種數據類型替換掉T,不能使用佔位符。
泛型類名<int> 對象名 =new 泛型類名<int>();//定義int類型的泛型對象
void Foo<T>(){
T x=null; //error
T y=0; //error
T z=default(T); //ok! 0,'\0',false,null
}