国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

基于C#的抽象類別詳解

2020-01-24 00:22:21
字體:
來源:轉載
供稿:網友

抽象類,有3個特點:

第1個,不能被實例化。

第2個,類中的抽象方法在繼承的子類中必須重寫。

第3個,類一旦有抽象方法出現,那這個類必須定義為抽象類。

現實開發中,發現有共同的代碼,可以把這些共同的代碼放在一個抽象類中。舉個例子,計算四邊形的周長。

矩形,長方形,正方形:

class Rectangle { private double _A; public double A {  get { return _A; }  set { _A = value; } } private double _B; public double B {  get { return _B; }  set { _B = value; } } public Rectangle() { } public Rectangle(double a, double b) {  this._A = a;  this._B = b; } public double Perimeter() {  return 2 * (_A + _B); } }

長斜方形,長菱形:

class Rhomboid  { private double _A; public double A {  get { return _A; }  set { _A = value; } } private double _B; public double B {  get { return _B; }  set { _B = value; } } public Rhomboid() { } public Rhomboid(double a,double b) {  this._A = a;  this._B = b; } public double Perimeter() {  return 2 * (_A + _B); } }

梯形,不等邊四邊形:

class Trapezoid { private double _A; public double A {  get { return _A; }  set { _A = value; } } private double _B; public double B {  get { return _B; }  set { _B = value; } } private double _C; public double C {  get { return _C; }  set { _C = value; } } private double _D; public double D {  get { return _D; }  set { _D = value; } } public Trapezoid() { } public Trapezoid(double a,double b,double c,double d) {  this._A = a;  this._B = b;  this._C = c;  this._D = d; } public double Perimeter() {  return _A + _B + _C + _D; } }

從上面三個類別中,你均可以看到有一個方法,Perimeter()是計算四邊形的周長。

經根博文開頭所言,你可以把這個方法抽出來,放在一個抽象類中,統一接口:

public abstract class Quadrilateral { //周長 public abstract double Perimeter(); }

把方法寫成抽象方法之后,每個類需要繼承此抽象類,并需要重寫 override抽象的方法。

下面驗證一下代碼,如需要計算一個不規則的四邊形的周長,那就是4條邊相加:

在控制臺運行:

以上這篇基于C#的抽象類別詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 防城港市| 峨山| 三都| 乳山市| 十堰市| 虞城县| 托克逊县| 澄迈县| 土默特右旗| 冷水江市| 南通市| 平遥县| 河南省| 夏津县| 惠水县| 安龙县| 乐清市| 武穴市| 方正县| 海城市| 渑池县| 汤阴县| 十堰市| 丰顺县| 顺义区| 东乡县| 嘉鱼县| 永济市| 横山县| 原阳县| 绥滨县| 辽阳县| 应城市| 孙吴县| 鹤壁市| 松溪县| 富源县| 泗阳县| 汨罗市| 连城县| 芒康县|