抽象類
abstract class My
{
public abstract string Name //抽象屬性
{
get;
set;
}
abstract public void Method();
public void Method2()
{
Console.WriteLine("My.method2");
}
}
class We : My
{
public override string Name //
{
get
{
return "";
}
set
{ }
}
public override void Method()
{
Console.WriteLine("!!!!!!!!!!!!!");
}
public void Method2()
{
Console.WriteLine("We.Method2");
}
}
abstract class Wo : My
{
public void Method2()
{
Console.WriteLine("Wo.method2");
}
}
抽象類基類中的抽象屬性和方法要在派生類中實現,即派生類要包含抽象基類中所有抽象成員。抽象類可以繼承抽象類可以不實現基類中的抽象成員,抽象類亦可以繼承其它類。
抽象類基類中的抽象屬性和方法要在派生類中實現,即派生類要包含抽象基類中所有抽象成員。抽象類可以繼承抽象類可以不實現基類中的抽象成員,抽象類亦可以繼承其它類。
接口interface IPhone
{
string Name
{
get;
}
string Number
{
get;
set;
}
}
class Mobile : IPhone
{
string name = "手機";
public string Name
{
get
{
return name;
}
}
public string Number
{
get;
set;
}
}
注意繼承接口時類中的成員爲public,接口成員必須被子類全部實現。
在派生類中方法加new可以顯示隱藏父類方法,父類不受影響。
在基類的方法中加入virtual關鍵字,在派生類方法加override關鍵字可以重寫,但是不能越級覆蓋。