最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于C#的抽象類別詳解

 更新時間:2017年12月19日 09:12:01   作者:Insus.NET  
下面小編就為大家分享一篇基于C#的抽象類別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

抽象類,有3個特點:

第1個,不能被實例化。

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

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

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

矩形,長方形,正方形:

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

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

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

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

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

在控制臺運行:

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

相關文章

  • C#實現航班預訂系統(tǒng)

    C#實現航班預訂系統(tǒng)

    這篇文章主要為大家詳細介紹了C#實現航班預訂系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • C#調用Windows的API實現窗體動畫

    C#調用Windows的API實現窗體動畫

    在VF、VB、PB的應用中,有些無法通過語言工具本身來完成的或者做得不理想的功能,我們會考慮通過Windows的API來完成。本文就來通過調用Windows的API實現窗體動畫,感興趣的可以嘗試一下
    2022-11-11
  • 用C#在本地創(chuàng)建一個Windows帳戶(DOS命令)

    用C#在本地創(chuàng)建一個Windows帳戶(DOS命令)

    用C#在本地創(chuàng)建一個Windows帳戶(DOS命令)...
    2007-03-03
  • C#導出Excel的示例詳解

    C#導出Excel的示例詳解

    這篇文章主要為大家詳細介紹了C#導出Excel的示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • 詳解如何實現C#和Python間實時視頻數據交互

    詳解如何實現C#和Python間實時視頻數據交互

    我們在做RTSP|RTMP播放的時候,遇到好多開發(fā)者,他們的視覺算法大多運行在python下,需要高效率的實現C#和Python的視頻數據交互,本文給大家總結了一些常用的方法,感興趣的小伙伴跟著小編一起來看看吧
    2024-10-10
  • 利用C#實現將小數值四舍五入為整數

    利用C#實現將小數值四舍五入為整數

    在項目的開發(fā)中,遇到一些除法計算內容會產生小數值,但是又需要根據項目的實際情況將這些小數內容化為整數,所以本文為大家整理了C#實現將小數值四舍五入為整數的方法,希望對大家有所幫助
    2023-07-07
  • DevExpress實現禁用TreeListNode CheckBox的方法

    DevExpress實現禁用TreeListNode CheckBox的方法

    這篇文章主要介紹了DevExpress實現禁用TreeListNode CheckBox的方法,在項目開發(fā)中有應用價值,需要的朋友可以參考下
    2014-08-08
  • C#中屬性PropertyInfo使用示例小結

    C#中屬性PropertyInfo使用示例小結

    在C#中,PropertyInfo是一個用于獲取和設置屬性的類,這篇文章主要介紹了C#中屬性PropertyInfo怎么使用,需要的朋友可以參考下
    2024-06-06
  • c# 兩個數組比較,將重復部分去掉,返回不重復部分的實現

    c# 兩個數組比較,將重復部分去掉,返回不重復部分的實現

    下面小編就為大家?guī)硪黄猚# 兩個數組比較,將重復部分去掉,返回不重復部分的實現方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • C#中CheckedListBox控件的用法實例

    C#中CheckedListBox控件的用法實例

    最近用到checklistbox控件,在使用其過程中,花了較多的時間,這里我收集了其相關的代碼段,希望對大家有所幫助,下面這篇文章主要給大家介紹了關于C#中CheckedListBox控件用法的相關資料,需要的朋友可以參考下
    2021-11-11

最新評論

天津市| 灵寿县| 常德市| 茶陵县| 土默特右旗| 吉木萨尔县| 禄丰县| 元朗区| 潼南县| 石柱| 新蔡县| 海门市| 龙胜| 桃源县| 米易县| 岫岩| 重庆市| 香河县| 崇明县| 庆安县| 夏河县| 裕民县| 金秀| 阿图什市| 卢湾区| 嘉善县| 呼图壁县| 亳州市| 泸溪县| 岳阳县| 新乡市| 锦州市| 乐东| 芦山县| 九台市| 杭锦后旗| 枞阳县| 同德县| 景德镇市| 莒南县| 科尔|