c#入門到高級(jí)(全)

一、代碼學(xué)習(xí)
1、多態(tài)
讓一個(gè)對(duì)象能夠表示出多種的狀態(tài)
虛方法、抽象類、接口
2、將父類的方法標(biāo)記為虛方法 virtual
這個(gè)函數(shù)能夠被子類重新寫一遍 父類virtual 子類override
真的鴨子嘎嘎叫 木頭鴨子吱吱叫 橡皮鴨子唧唧叫
3、抽象類
父類標(biāo)記Abstarck
當(dāng)父類中的方法不知道如何去實(shí)現(xiàn)的時(shí)候,可以考慮將父類寫成抽象類,將方法寫成抽象方法
抽象類是不能夠創(chuàng)建實(shí)例對(duì)象的
如果一個(gè)子類繼承父類,那么子類必須實(shí)現(xiàn)父類所有的抽象成員
如果子類也是抽象類的話不需要重寫服了你成員
抽象類可以包含非抽象成員 非抽象成員也不必一定被子類實(shí)現(xiàn)
方法簽名:返回值和參數(shù)
子類重寫父類時(shí)方法簽需要保持一致
4、什么時(shí)候用虛方法,有什么時(shí)候用抽象類
如果父類中的方法有默認(rèn)的實(shí)現(xiàn),并且父類需要被實(shí)例化 真的鴨子嘎嘎叫 這是可以將父類定義成為一個(gè)普通類,用虛方法來(lái)實(shí)現(xiàn)多態(tài)
如果父類中的方法沒(méi)有默認(rèn)的實(shí)現(xiàn),父類也不需要被實(shí)例化,則可將其定義成為抽象類。?
標(biāo)簽: