C#-介面
C Sharp
Interface
定義不同類別之間的一致行為。
有三個類:Book , CD , Toy 需要同一個GetPrice(),取得價格的方法 就可以實作介面IPrice
- 介面中沒有建構子、靜態成員…必須是抽象方法。
宣告介面
interface IArea
{
void Area ();
}
interface IInfo
{
string Info();
}
實作介面
class Rectangle : IArea , IInfo
{
public int H;
public int W;
public Rectangle (int h , int w)
{
}
public double Area()
{
retrun ( H*W);
}
public string Info ()
{
return "長方形的寬" + H + "長方形的高"+ W;
}
}
#調用介面
Rectangle r = new Rectangle(10,20);
Console.WriteLine(r.Info();
Console.WriteLine(r.Area();
Abstract Class
抽象類別:不能建立物件的類別,只能允許類別繼承他。
public abstract class Shape
{
public int X;
public int Y;
public Shape (int x, int y);
}
sealed
密封類別,類別無法被繼承。
- 保護原因:防止子類改寫。
- 設計原因:設計需求。