抽象類,有3個特點:
第1個,不能被例項化。
第2個,類中的抽象方法在繼承的子類中必須重寫。
第3個,類一旦有抽象方法出現,那這個類必須定義為抽象類。
現實程式設計客棧開發中,發現有共同的程式設計客棧**,可以把這些共同的**放在乙個抽象類中。舉個例子,計算四邊形的周長。
矩形,長方形,正方形:
class rectangle
set
} private double _b;
public double b
set
} public rectangle()
public rectangle(double a, double b)
public double perimeter()
}長斜方形,長菱形:
class rhomboid
set
} private double _b;
public double b
set
} public rhomboid()
public rhomboid(double a,double b)
public double perimeter()
}梯形,不等邊四邊形:
class trapezoid
set
} private double _b程式設計客棧;
public double b
set
} private double _c;
ocjesvy public double c
set
} private double _d;
public double d
set
} public trapezoid()
public trapezoid(double a,double b,double c,double d)
public double perimeter()
}從上面三個類別中,你均可以看到有乙個方法,perimeter()是計算四邊形的周長。
經根博文開頭所言,你可以把這個方法抽出來,放在乙個抽象類中,統一介面:
public abstract class quadrilateral
把方法寫成抽象方法之後,每個類需要繼承此抽象類,並需要重寫 override抽象的方法。
下面驗證一下**,如需要計算乙個不規則的四邊形的周長,那就是4條邊相加:
在控制台執行:
本文標題: 基於c#的抽象類別詳解
本文位址:
C 的抽象類別
抽象類,有3個特點 第1個,不能被例項化。第2個,類中的抽象方法在繼承的子類中必須重寫。第3個,類一旦有抽象方法出現,那這個類必須定義為抽象類。現實開發中,發現有共同的 可以把這些共同的 放在乙個抽象類中。舉個例子,計算四邊形的周長。矩形,長方形,正方形 長斜方形,長菱形 梯形,不等邊四邊形 從上面...
C 的抽象類詳解
在介紹抽象類之前,我們先介紹一下純虛函式。1.純虛函式 在基類中僅僅給出宣告,不對虛函式實現定義,而是在派生類中實現。這個虛函式稱為純虛函式。普通函式如果僅僅給出它的宣告而沒有實現它的函式體,這是編譯不過的。純虛函式沒有函式體。純虛函式需要在宣告之後加個 0 class 基類名 2.抽象類 含有純虛...
抽象類 抽象方法詳解
抽象類 用abstract關鍵字來修飾乙個類時,這個類叫做抽象類 1,含有抽象方法的類就叫抽象類。2,抽象類中的抽象方法必須被實現!3,如果乙個子類沒有實現父類中的抽象方法,則子類也成為了乙個抽象類!4,抽象類中的普通方法,可以不必實現。2.方法 1,含有抽象方法的類就叫抽象類。2,抽象類中的抽象方...