五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

程序設(shè)計(jì)中的抽象類與接口

2020-10-30 16:13 作者:Tuple_元組  | 我要投稿

一、導(dǎo)入語:

抽象類和接口都是進(jìn)行面向?qū)ο笤O(shè)計(jì)時(shí)專用的設(shè)計(jì)結(jié)構(gòu),在實(shí)際進(jìn)行項(xiàng)目設(shè)計(jì)時(shí),經(jīng)常需要考慮的問題就是使用抽象類還是接口?下面通過對(duì)于抽象類和接口進(jìn)行簡單的比較,了解兩者之間的區(qū)別和聯(lián)系,從而在實(shí)際設(shè)計(jì)時(shí)使用恰當(dāng)?shù)慕Y(jié)構(gòu)。

二、相關(guān)概念

1、抽象類:聲明方法的存在而不去實(shí)現(xiàn)它的類被叫做抽像類(abstract class)或含有一個(gè)或多個(gè)抽象方法的類稱為抽象類且不能實(shí)例化。

2、接口:是把隱式公共方法和屬性組合起來,以封裝特定功能的一個(gè)集合。

三、抽象類與接口的異同

1、類是對(duì)對(duì)象的抽象,抽象類則是對(duì)類的抽象.而接口只是一個(gè)行為的規(guī)范或規(guī)定。

2、一個(gè)類一次可以實(shí)現(xiàn)若干個(gè)接口,但是只能擴(kuò)展一個(gè)父類(繼承一個(gè)父類)。

3、如果抽象類實(shí)現(xiàn)接口,則可以把接口中方法映射到抽象類中作為抽象方法而不必實(shí)現(xiàn),而在抽象類的子類中實(shí)現(xiàn)接口方法。

4、接口和抽象類都不能實(shí)例化,都包含未實(shí)現(xiàn)的方法聲明,派生類必須實(shí)現(xiàn)未實(shí)現(xiàn)的方法,一個(gè)抽象類可以包含抽象和非抽象方法,當(dāng)一個(gè)類繼承于抽象類,那么這個(gè)派生類必須實(shí)現(xiàn)所有的基類抽象方法,而接口則只能對(duì)其所有成員進(jìn)行方法簽名(方法、其他成員)。

5、抽象類用abstract class聲明,接口用interface聲明,接口名稱前要加‘I’,接口中的方法或?qū)傩郧懊娌荒苡行揎椃?、方法沒有方法體。

interface IInterface

{

? ? void Method1();//只能聲明方法簽名

}

abstract class MyAbs:IInterface? //抽象類還可繼承于接口

{

? ?public abstract void AbMethod1();//抽象方法

? ?public void Method1() //非抽象方法

? ? {

? ? ? ? Console.WriteLine("MethodimplementedfromtheIInterface");

? ? }

}

class MyClass:MyAbs

{

? ? public override void AbMethod1() //繼承后,必須實(shí)現(xiàn)抽象方法

? ? {??

? ? ? ? ?Console.WriteLine("Abstarct method #1");?

? ? }??

}

class MyClient

{

? ? public static void Main()

? ? {

? ? ? ? MyClass mc=new MyClass();

? ? ? ? mc.Method1();

? ? }

}

四、抽象類與接口的用法

1、什么時(shí)候使用抽象類或接口?

當(dāng)設(shè)計(jì)中為了規(guī)范類中方法聲明的結(jié)構(gòu)(即類的行為)時(shí),使用抽象類或接口。也就是強(qiáng)制子類對(duì)外部提供統(tǒng)一的方法聲明時(shí),使用抽象類或接口。

2、什么時(shí)候使用抽象類?

當(dāng)滿足以下的條件時(shí),最好使用抽象類進(jìn)行設(shè)計(jì):

a)子類不繼承其它父類

b)子類中存在完全相同的功能實(shí)現(xiàn)的方法

c)子類中存在相同的屬性

d)設(shè)計(jì)出的結(jié)構(gòu)需要繼承其它類

當(dāng)需要滿足d條件時(shí),只能使用抽象類,否則也可以考慮使用接口實(shí)現(xiàn)。

3、什么時(shí)候使用接口?

當(dāng)滿足以下的條件時(shí),最好使用接口進(jìn)行設(shè)計(jì):

a)子類已經(jīng)繼承了其它父類

b)子類中不存在完全相同的功能實(shí)現(xiàn)方法

c)子類中不存在相同的屬性

d)設(shè)計(jì)出的結(jié)構(gòu)不需要繼承其它類

當(dāng)需要滿足a條件時(shí),只能使用接口,否則也可以考慮使用抽象類實(shí)現(xiàn)。

4、抽象類和接口的其它用途

a)禁止創(chuàng)建該類的對(duì)象時(shí),可以把該類聲明為抽象類。

b)當(dāng)需要存儲(chǔ)大量的常量數(shù)據(jù),而這些常量數(shù)據(jù)將會(huì)在項(xiàng)目中的多個(gè)類之間使用時(shí),可以使用接口。

c)當(dāng)需要統(tǒng)一具有某種功能的類的對(duì)象時(shí),可以使用接口。


程序設(shè)計(jì)中的抽象類與接口的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
张家港市| 葵青区| 汕尾市| 香河县| 宜宾县| 清新县| 辽阳市| 循化| 郎溪县| 文昌市| 定西市| 武宁县| 通州市| 黄浦区| 磐石市| 广昌县| 虎林市| 鸡西市| 宕昌县| 社会| 棋牌| 昌图县| 同江市| 龙山县| 朔州市| 珲春市| 桐城市| 成安县| 军事| 通榆县| 定南县| 东乡| 左贡县| 大足县| 泸溪县| 扎囊县| 开江县| 巩义市| 扬中市| 孝昌县| 黄浦区|