成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

C#之淺談虛方法和抽象方法的區(qū)別

抽象類(lèi):
有時(shí)我們表達(dá)一些抽象的東西,它是一種概括,不需要它成為一種實(shí)體,所以面向?qū)ο蟊阌辛顺橄箢?lèi)。
具體來(lái)講:一個(gè)員工,它屬于一個(gè)公司,但是公司只是一個(gè)名稱(chēng),我們不需要它成為一個(gè)實(shí)體,所以公司就是一個(gè)抽象類(lèi)。
何時(shí)必須聲明一個(gè)類(lèi)為抽象類(lèi)?(面試題)
當(dāng)這個(gè)類(lèi)中包含抽象方法時(shí),或是該類(lèi)并沒(méi)有完全實(shí)現(xiàn)父類(lèi)的抽象方法時(shí)。
抽象類(lèi)的特點(diǎn):
抽象類(lèi)使用abstract修飾符,并且它只能是用作基類(lèi)。
抽象類(lèi)不能實(shí)例化,當(dāng)使用new運(yùn)算符對(duì)其實(shí)例時(shí)會(huì)出現(xiàn)編譯錯(cuò)誤。
允許(但不要求)抽象類(lèi)包含抽象成員。(非抽象類(lèi)不能包括抽象成員)
抽象類(lèi)不能被密封。
抽象類(lèi)可以被抽象類(lèi)所繼承,結(jié)果仍是抽象類(lèi)。

站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到榮成網(wǎng)站設(shè)計(jì)與榮成網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋榮成地區(qū)。

介紹一下這兩種方法:

一、Virtual方法(虛方法)

 virtual 關(guān)鍵字用于在基類(lèi)中修飾方法。virtual的使用會(huì)有兩種情況:

 情況1:在基類(lèi)中定義了virtual方法,但在派生類(lèi)中沒(méi)有重寫(xiě)該虛方法。那么在對(duì)派生類(lèi)實(shí)例的調(diào)用中,該虛方法使用的是基類(lèi)定義的方法。

 情況2:在基類(lèi)中定義了virtual方法,然后在派生類(lèi)中使用override重寫(xiě)該方法。那么在對(duì)派生類(lèi)實(shí)例的調(diào)用中,該虛方法使用的是派生重寫(xiě)的方法。

二、Abstract方法(抽象方法)

 abstract關(guān)鍵字只能用在抽象類(lèi)中修飾方法,并且沒(méi)有具體的實(shí)現(xiàn)。抽象方法的實(shí)現(xiàn)必須在派生類(lèi)中使用override關(guān)鍵字來(lái)實(shí)現(xiàn)。請(qǐng)務(wù)必將抽象方法放在抽象類(lèi)中。派生類(lèi)必須全部實(shí)現(xiàn)父類(lèi)的方法。

這是我自己總結(jié)的他們的簡(jiǎn)單的區(qū)別:

抽象方法的使用:

父類(lèi):public abstract void SayHi();

子類(lèi):使用override重寫(xiě)

public override void SayHi()

    {
        Console.WriteLine("我的名字是: {0} ,年齡是{1},愛(ài)好有{2}",Name,Age,Hoddy);
    }

在program里:

List<Person> lists = new List<Person>();
for (int i = 1; i <=5; i++)
{
Student stu = new Student("cmz" + i.ToString(), 20 + i, "愛(ài)好無(wú)");
lists.Add(stu);
Teacher tea = new Teacher("程沐喆" + i.ToString(), 30 + i, 5 + i);
lists.Add(tea);
}

        for (int i = 0; i < lists.Count; i++)
        {

            (lists[i] as Person).SayHi();
        }

        Console.Read();

虛方法的使用:

1.在父類(lèi)里寫(xiě)SayHi方法

private Genders gender;
public Genders Gender
{
get { return gender; }
set { gender = value; }
}

    public virtual void SayHi()
    {
        string message;
        string sex;
        switch (this.gender)
        {
            case Genders.Female:
                sex = "女士";
                break;
            case Genders.Male:
                sex = "先生";
                break;
            default:
                sex = "外星人";
                break;
        }
        message = string.Format(
            "大家好,我是 {0} {1}。我今年 {2} 歲了。!",
            this.Name, sex, this.Age
        );
        MessageBox.Show(message);
    }

2.在student里使用override重寫(xiě):

override public void SayHi()
{
string message = string.Format(
"大家好,我是 {0} 同學(xué),今年 {1} 歲了,我喜歡 {2}!",
base.Name, base.Age, this.hobby
);
MessageBox.Show(message);
}

網(wǎng)頁(yè)名稱(chēng):C#之淺談虛方法和抽象方法的區(qū)別
轉(zhuǎn)載注明:http://jinyejixie.com/article30/pppdso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、Google商城網(wǎng)站、ChatGPT動(dòng)態(tài)網(wǎng)站、網(wǎng)站策劃

廣告

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

綿陽(yáng)服務(wù)器托管
资源县| 凤山县| 昭苏县| 西昌市| 越西县| 寿光市| 舒城县| 新密市| 施甸县| 闽清县| 容城县| 阿巴嘎旗| 濮阳市| 都江堰市| 都江堰市| 桐柏县| 商城县| 饶河县| 五台县| 容城县| 孙吴县| 清水县| 建瓯市| 高台县| 雷波县| 巴彦淖尔市| 泊头市| 沁阳市| 龙州县| 陆川县| 都兰县| 铜山县| 益阳市| 昌宁县| 铜川市| 武山县| 祁阳县| 隆回县| 正阳县| 伊川县| 乡宁县|