麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > C# > 正文

C#與.net高級(jí)編程 C#的多態(tài)介紹

2024-09-07 17:05:24
字體:
供稿:網(wǎng)友
用virtual關(guān)鍵字標(biāo)記的方法稱為虛方法,如果子類希望改變虛方法的實(shí)現(xiàn)細(xì)節(jié)就必須使用 override關(guān)鍵字。
抽象類
abstract關(guān)鍵字
防止創(chuàng)建毫無意義的基本類,使用abstract關(guān)鍵字創(chuàng)建抽象基類,防止被實(shí)例化
使用abstract關(guān)鍵字創(chuàng)建抽象方法,強(qiáng)制每一個(gè)子類重寫特定的方法,abstract成員沒有提供任何實(shí)現(xiàn)。
(注:抽象方法只可以定義在抽象類中,如果不是這樣的話,就會(huì)收到編譯器錯(cuò)誤)
成員投影
如果派生類定義的成員和定義在蕨類中的成員一致,派生類投影了父類的版本。
如:我們從一個(gè)不是自己創(chuàng)建的類來創(chuàng)建子類就是很可能發(fā)生這樣的情況(基類和子類出現(xiàn)同一個(gè)方法名。)
解決方案:
使用override關(guān)鍵字更新父版本,但是如果我們對(duì)定義基類的代碼沒有訪問權(quán)限,我們就不能將方法修改為虛方法。
我們可以為派生類型的成員添加new 關(guān)鍵字。這樣就可以表明派生類型的實(shí)現(xiàn)故意設(shè)計(jì)為隱藏父類的版本。

封裝、繼承、多態(tài),面向?qū)ο蟮娜筇匦裕皟身?xiàng)理解相對(duì)容易,但要理解多態(tài),特別是深入的了解,對(duì)于初學(xué)者而言可能就會(huì)有一定困難了。我一直認(rèn)為學(xué)習(xí)OO的最好方法就是結(jié)合實(shí)踐,封裝、繼承在實(shí)際工作中的應(yīng)用隨處可見,但多態(tài)呢?也許未必,可能不經(jīng)意間用到也不會(huì)把它跟“多態(tài)”這個(gè)詞對(duì)應(yīng)起來。在此拋磚引玉,大家討論,個(gè)人能力有限,不足之處還請(qǐng)指正。

之前看到過類似的問題:如果面試時(shí)主考官要求你用一句話來描述多態(tài),盡可能的精煉,你會(huì)怎么回答?當(dāng)然答案有很多,每個(gè)人的理解和表達(dá)不盡相同,但我比較趨向這樣描述:通過繼承實(shí)現(xiàn)的不同對(duì)象調(diào)用相同的方法,表現(xiàn)出不同的行為,稱之為多態(tài)。 
代碼如下:
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public class Animal
{
public virtual void Eat()
{
Console.WriteLine("Animal eat");
}
}

public class Cat : Animal
{
public override void Eat()
{
Console.WriteLine("Cat eat");
}
}

public class Dog : Animal
{
public override void Eat()
{
Console.WriteLine("Dog eat");
}
}

class Tester
{
static void Main(string[] args)
{
Animal[] animals = new Animal[3];

animals[0] = new Animal();
animals[1] = new Cat();
animals[2] = new Dog();

for (int i = 0; i < 3; i++)
{
animals[i].Eat();
}
}
}

輸出如下:
Animal eat...
Cat eat...
Dog eat...

在上面的例子中,通過繼承,使得Animal對(duì)象數(shù)組中的不同的對(duì)象,在調(diào)用Eat()方法時(shí),表現(xiàn)出了不同的行為。
多態(tài)的實(shí)現(xiàn)看起來很簡(jiǎn)單,要完全理解及靈活的運(yùn)用c#的多態(tài)機(jī)制,也不是一件容易的事,有很多需要注意的地方。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲第一页在线观看 | 蜜桃成品人免费视频 | 国产免费中文字幕 | 久久一本日日摸夜夜添 | 99极品视频| 永久在线观看电影 | 香蕉秀| 一级国产精品一级国产精品片 | 精品国产91一区二区三区 | 97porn| 中文字幕亚洲一区二区三区 | 国产91九色在线播放 | 色综合网在线观看 | 久久久一区二区精品 | 美女视频黄a视频免费全过程 | 5xsq在线视频 | 欧美一区二区三区免费不卡 | chengrenyingshi| 在线亚洲欧美 | 久久免费视频7 | 多人乱大交xxxxx变态 | 国产正在播放 | 91在线看黄 | 西川av在线一区二区三区 | 久久久久电影网站 | 国产欧美一区二区三区免费看 | 国产三级a三级三级 | 久久亚洲国产精品 | 性爱免费在线视频 | 免费观看一区二区三区 | 蜜桃91丨九色丨蝌蚪91桃色 | 国产99久久精品一区二区300 | 国产免费一区 | 成年免费视频黄网站在线观看 | 久久99久久98精品免观看软件 | 一级性色 | 国内精品久久久久久2021浪潮 | 国产伊人色| 成人免费在线播放 | 久久综合久久美利坚合众国 | 成人午夜视频网站 |