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

首頁 > 編程 > C# > 正文

C# 抽象類,抽象屬性,抽象方法(實例講解)

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

抽象類往往用來表征對問題領域進行分析、設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象。

下面我們以水果為例,首先定義抽象類Fruit,抽象類中有公共屬性vendor,抽象屬性Price和抽象方法GrowInArea,

public abstract class Fruit  {    public string vendor { get; set; } //默認為private        public abstract float Price { get; } //抽象屬性必須是公有的    public abstract void GrowInArea(); //抽象方法必須是公有的  }

下面定義一個Apple類,繼承抽象類

public class Apple : Fruit  {    public override float Price    {      get      {        if (vendor == "紅富士")          return 100;        else          return 0;      }    }    public override void GrowInArea()    {      Console.WriteLine("我在南方北方都能生長,我的生產商是:" + vendor + ",我現在的價格是:" + Price);    }  }

子類繼承抽象類,需要override抽象類中的抽象屬性和抽象方法,如果有未override的,則子類也必須為抽象類

再定義個Orange類

public class Orange : Fruit  {    public override float Price    {      get      {        return 0;      }    }    public override void GrowInArea()    {      Console.WriteLine("我只能生長在南方,我的生產商是:" + vendor + ",我的價格是:" + Price);    }  }

在main函數中輸入

static void Main(string[] args)    {      Fruit f = new Apple();      f.vendor = "紅富士";      f.GrowInArea();      f = new Orange();      f.vendor = "柑橘";      f.GrowInArea();      Console.ReadKey();    }

輸出結果如下:

總結:

1、抽象類中的抽象屬性和抽象方法必須是公有的,因此必須有public修飾符

2、子類必須override抽象類中的所有抽象屬性和抽象方法,如果沒有全部override,那么子類必須是抽象類

3、抽象類中可以有非抽象屬性和非抽象方法,也可以是私有或者公有,但是如果是私有的話子類就不能訪問,無意義,所以一般情況下都設置為公有

4、有抽象方法或抽象屬性的類一定是抽象類,抽象類中的屬性或方法不一定都是抽象的

以上這篇C# 抽象類,抽象屬性,抽象方法(實例講解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 读书| 哈密市| 桐柏县| 崇义县| 吉林市| 富顺县| 织金县| 景宁| 新邵县| 高尔夫| 九江县| 福贡县| 虎林市| 巢湖市| 龙陵县| 新津县| 岳阳市| 若尔盖县| 陇南市| 若羌县| 永顺县| 宁安市| 营山县| 建德市| 西充县| 铜梁县| 商河县| 玉门市| 黎城县| 承德市| 新疆| 沽源县| 武宣县| 吉木萨尔县| 若尔盖县| 海宁市| 尉氏县| 济阳县| 永安市| 和硕县| 和林格尔县|