溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#的抽象類別的特點

發布時間:2021-08-21 04:54:56 來源:億速云 閱讀:218 作者:chen 欄目:編程語言

本篇內容主要講解“C#的抽象類別的特點”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C#的抽象類別的特點”吧!

抽象類,有3個特點:

第1個,不能被實例化。

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

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

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

矩形,長方形,正方形:

C#的抽象類別的特點

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);
 }
 }

長斜方形,長菱形:

C#的抽象類別的特點

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);
 }
 }

梯形,不等邊四邊形:

C#的抽象類別的特點

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()是計算四邊形的周長。

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

C#的抽象類別的特點

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

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

C#的抽象類別的特點

C#的抽象類別的特點

C#的抽象類別的特點

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

C#的抽象類別的特點

在控制臺運行:

C#的抽象類別的特點

到此,相信大家對“C#的抽象類別的特點”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女