欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
C#抽象類(lèi)

abstract修飾符可以和類(lèi)、方法、屬性、索引器及事件一起使用,在類(lèi)聲明中使用abstract修飾符以表明這個(gè)類(lèi)只能是其他類(lèi)的基類(lèi)。

抽象類(lèi)的特性

(1)抽象類(lèi)不能被實(shí)例化

(2)抽象類(lèi)可以包含抽象方法和抽象訪(fǎng)問(wèn)器

(3)不能用sealed修飾符修改抽象類(lèi),因為抽象類(lèi)本身就是用來(lái)給其他類(lèi)繼承的

(4)抽象類(lèi)的非抽象子類(lèi)必須實(shí)現其繼承的所有抽象方法和抽象訪(fǎng)問(wèn)器

抽象方法

(1)抽象方法是隱式的虛方法

(2)抽象方法只允許聲明在抽象類(lèi)中

(3)抽象方法不能提供實(shí)際的實(shí)現,所以沒(méi)有方法體;抽象方法的實(shí)現是在非抽象的派生類(lèi)中以override重寫(xiě)實(shí)現的

(4)抽象方法聲明中不可以使用static或者virtual修飾符

(5)abstract關(guān)鍵字不能修飾靜態(tài)方法或靜態(tài)屬性

抽象類(lèi)的構造函數

(1)不要再抽象類(lèi)中定義public或protected internal訪(fǎng)問(wèn)權限的構造函數

(2)應在抽象類(lèi)中定義protected或private訪(fǎng)問(wèn)權限的構造函數

(3)如果在抽象類(lèi)中定義一個(gè)protected構造函數,則在實(shí)例化派生類(lèi)時(shí),基類(lèi)可以執行初始化任務(wù)

抽象方法和虛方法的區別

虛方法有實(shí)現部分,并且派生類(lèi)對其重寫(xiě)是可選的;抽象方法沒(méi)有實(shí)現部分,并且強制非抽象派生類(lèi)對其重寫(xiě)

 

重寫(xiě)虛方法例子中的代碼,改為抽象的方式實(shí)現

using System;using System.Collections;//抽象類(lèi)public abstract class Animal{    protected string face;    //聲明為protected的構造函數,在實(shí)例化派生類(lèi)時(shí),基類(lèi)可以執行初始化工作    protected Animal() { this.face = "^_^"; /*抽象類(lèi)構造函數初始化的例子*/}    public abstract void eat();    public abstract string Face    {        get;    }}public class dog : Animal{    //重寫(xiě)基類(lèi)中的抽象訪(fǎng)問(wèn)器Face    public override string Face    {        get        {            return face;        }    }    //重寫(xiě)基類(lèi)中的抽象方法eat    public override void eat()    {        Console.WriteLine("狗吃骨頭 " + Face);    }}public class cat : Animal{    public override string Face    {        get        {            return face;        }    }    public override void eat()    {        Console.WriteLine("貓吃魚(yú) " + Face);    }}public class panda : Animal{    public override string Face    {        get        {            return face;        }    }    public override void eat()    {        Console.WriteLine("熊貓吃竹子 " + Face);    }}public class MainFun{    static void Main()    {        Animal[] anim = new Animal[3];        anim[0] = new dog();        anim[1] = new cat();        anim[2] = new panda();        anim[0].eat();        anim[1].eat();        anim[2].eat();        Console.ReadKey();    }}
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
C#部分關(guān)鍵字歸納
new、abstract、virtual、override,sealed關(guān)鍵字區別_jas...
C#中修飾符用法“virtual(虛擬函數)、override(重載函數)、static(...
C# 類(lèi)中方法、屬性、事件的類(lèi)型關(guān)鍵字使用方法
漫談.Net關(guān)鍵字系列之一Sealed與Final
c#中abstract、override、new、virtual、sealed使用和示例 .
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久