欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

C#抽象類和抽象方法-創(chuàng)新互聯(lián)

如果一個類不與具體的事物相聯(lián)系,而只是表達(dá)一種抽象的概念,僅僅是作為其派生類的一個基類,這樣的類就是抽象類,在抽象類中聲明方法時,如果加上abstract時就是抽象方法

為榕城等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及榕城網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè)、榕城網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
  1. 抽象類概述及聲明

抽象類與非抽象類的主要區(qū)別:

①.抽象類不能直接被實(shí)例化;

②.抽象類中可以只有抽象方法,也可以只有非抽象方法,也可以抽象方法、非抽象方法都有。(非抽象   類中不能有抽象方法);

③.抽象類不能被密封。

以上會在下面例子中一一驗(yàn)證:

class Program
    {
        static void Main(string[] args)
        {
            M m = new M();//錯誤提示:無法創(chuàng)建抽象類或接口M的實(shí)例。驗(yàn)證了①,抽象類和接口不能被實(shí)例化

        }
    }

    public abstract class M
    {
        public void A()
        {
            Console.WriteLine("調(diào)用了A方法");
        }

        public abstract void B() //錯誤提示:M.B()無法聲明主體,因?yàn)樗鼧?biāo)記為abstract。也就是說,抽象方

法不能有方法體。
        {
            Console.WriteLine("調(diào)用了B方法");
        }

        public abstract void G();
    }

    public class C
    {
        public abstract void H();//錯誤提示:C.D()是抽象的,但它包含在非抽象類C中。再對比 M 類中的方法A()、B()來看,就驗(yàn)證了②:非抽象類中不能有抽象方法;抽象類中可以只有抽象方法,也可以只有非抽象方法,也可以抽象方法、非抽象方法都有。

        public void D()
        {

        }
     
    }

    public sealed abstract class E //錯誤提示:E 是抽象類,它不能是密封(sealed)或靜態(tài)(static)的。這就驗(yàn)證了③。
    {

    }

    public static abstract class F //錯誤提示:F 是抽象類,它不能是密封(sealed)或靜態(tài)(static)的。這就驗(yàn)證了③。
    {

}

2.抽象方法概述及聲明

聲明抽象方法時需注意:

①.抽象方法必須聲明在抽象類中(上面已經(jīng)驗(yàn)證); 

②.聲明抽象方法時,不能使用virtual、static、private、sealed修飾符;

③.在抽象類中抽象方法不提供實(shí)現(xiàn)。

下面例子中會一一驗(yàn)證:

class Program
    {
        static void Main(string[] args)
        {
        }
    }

    public abstract class M
    {
        public abstract void A();

        public virtual abstract void B();//錯誤提示:抽象方法 B 不能標(biāo)記為 virtual。因?yàn)樘摲椒ê统橄蠓椒▽儆谕粋€等級的,并列關(guān)系。

        public static abstract void C();//錯誤提示:靜態(tài)成員 C不能標(biāo)記為overrid、virtual或abstract。

        private abstract void D();  //錯誤提示:虛擬成員或抽象成員不能是私有的。因?yàn)樘摂M成員是讓繼承類來override的,如果是private,繼承類都不能看見;抽象方法要是私有的話,這個抽象方法所在的抽象類的子類就沒法實(shí)現(xiàn)這個抽象方法,看不見。

        A();//抽象方法在自己的抽象類中不能有方法體,所以不能在本類中實(shí)現(xiàn)。要在繼承類中實(shí)現(xiàn)。

    }

3.抽象類與抽象方法的使用

直接舉例子:

using System;
using System.Collections.Generic;
using System.Text;
namespace _
{
    public abstract class myClass
    {
        private string id = "";
        private string name = "";
        /// <summary>
        /// 編號屬性及實(shí)現(xiàn)
        /// </summary>
        public string ID
        {
            get
            {
                return id;
            }
            set
            {
                id = value;
            }
        }
        /// <summary>
        /// 姓名屬性及實(shí)現(xiàn)
        /// </summary>
        public string Name
        {
            get
            {
                return name;
            }
            set
            {
                name = value;
            }
        }
        /// <summary>
        /// 抽象方法,用來輸出信息
        /// </summary>
        public abstract void ShowInfo();
    }

    public class DriveClass:myClass                     //繼承抽象類
    {
        /// <summary>
        /// 重寫抽象類中輸出信息的方法
        /// </summary>
        public override void ShowInfo()
        {
            Console.WriteLine(ID + " " + Name);
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            //實(shí)例化派生類
            DriveClass driveclass = new DriveClass();  
           
            //使用派生類對象實(shí)例化抽象類
            myClass myclass = driveclass;    
           
            //使用抽象類對象訪問抽象類中的編號屬性           
            myclass.ID = "BH0001";
          
            //使用抽象類對象訪問抽象類中的姓名屬性                 
            myclass.Name = "TM";                        
           
            //使用抽象類對象調(diào)用抽象類中的的抽象方法
            myclass.ShowInfo();                         
        }
    }
}

上例中通過派生類的對象driveclass來實(shí)例化抽象類,然后使用抽象類訪問抽象類中的屬性及方法。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

本文標(biāo)題:C#抽象類和抽象方法-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://aaarwkj.com/article6/cogsog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、電子商務(wù)品牌網(wǎng)站建設(shè)、搜索引擎優(yōu)化網(wǎng)站設(shè)計(jì)公司、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
欧美日韩一区中文字幕| 免费观看日本成人午夜大片| 中文字幕av日韩在线| 草草在线成年免费视频| 久激情内射婷内射蜜桃| 青青草免费在线播放视频网站| 热99精品视频在线观看| 在线视频天堂亚洲天堂| 亚洲综合色婷婷七月丁香| 青青草原成年人免费看| 午夜性生活免费观看视频| 亚洲精品视频久久偷拍| 日韩av亚洲在线观看| 欧美亚洲另类日韩综合网| 99热这里66只有精品| 国产精品第一区第二区| 這裏隻有无码人妻久久| 国产精品久久久久精品综合| 天天操天天射夜夜爽| 久久精品亚洲夜色国产av| 亚洲国产在线一区二区| 韩国电视剧大全免费国语观看| 日本韩国av在线观看| 日本午夜专区一区二区| 久久精品免费激情视频| 日本东京热不卡一区二区| 91手机精品在线视频| 美女呻吟被爽到高潮在线| 亚洲特级黄色做啪啪啪| 亚洲巨人精品福利导航| 久久久久久这里都是精品| 日本国内一区二区三区四区视频| 国产级一片内射视步页| 国产女人和拘做受视频| 久久精品国产亚洲av波多| 尤物视频网站在线观看| 欧美成人夫妻性生活视频| 日本成年网站在线观看| 午夜在线观看欧美福利| 亚洲av成人免费在线| 欧美日韩国产这里只有精品|