當(dāng)前位置:高考知識(shí)網(wǎng) > 招聘筆試題 > 正文
47. 關(guān)聯(lián)、聚合(Aggregation)以及組合(Composition)的區(qū)別?
涉及到UML中的一些概念:關(guān)聯(lián)是表示兩個(gè)類(lèi)的一般性聯(lián)系,比如“學(xué)生”和“老師”就是一種關(guān)聯(lián)關(guān)系;聚合表示has-a的關(guān)系,是一種相對(duì)松散的關(guān)系,聚合類(lèi)不需要對(duì)被聚合類(lèi)負(fù)責(zé),如下圖所示,用空的菱形表示聚合關(guān)系:
從實(shí)現(xiàn)的角度講,聚合可以表示為:
class A {…} class B { A* a; …..}
而組合表示contains-a的關(guān)系,關(guān)聯(lián)性強(qiáng)于聚合:組合類(lèi)與被組合類(lèi)有相同的生命周期,組合類(lèi)要對(duì)被組合類(lèi)負(fù)責(zé),采用實(shí)心的菱形表示組合關(guān)系:
實(shí)現(xiàn)的形式是:
class A{…} class B{ A a; …}
參考文章:http://blog.csdn.net/wfwd/archive/2006/05/30/763753.aspx
http://blog.csdn.net/wfwd/archive/2006/05/30/763760.aspx
48.面向?qū)ο蟮娜齻(gè)基本特征,并簡(jiǎn)單敘述之?
1. 封裝:將客觀事物抽象成類(lèi),每個(gè)類(lèi)對(duì)自身的數(shù)據(jù)和方法實(shí)行protection(private, protected,public)
2. 繼承:廣義的繼承有三種實(shí)現(xiàn)形式:實(shí)現(xiàn)繼承(指使用基類(lèi)的屬性和方法而無(wú)需額外編碼的能力)、可視繼承(子窗體使用父窗體的外觀和實(shí)現(xiàn)代碼)、接口繼承(僅使用屬性和方法,實(shí)現(xiàn)滯后到子類(lèi)實(shí)現(xiàn))。前兩種(類(lèi)繼承)和后一種(對(duì)象組合=>接口繼承以及純虛函數(shù))構(gòu)成了功能復(fù)用的兩種方式。
3. 多態(tài):是將父對(duì)象設(shè)置成為和一個(gè)或更多的他的子對(duì)象相等的技術(shù),賦值之后,父對(duì)象就可以根據(jù)當(dāng)前賦值給它的子對(duì)象的特性以不同的方式運(yùn)作。簡(jiǎn)單的說(shuō),就是一句話:允許將子類(lèi)類(lèi)型的指針賦值給父類(lèi)類(lèi)型的指針。
49. 重載(overload)和重寫(xiě)(overried,有的書(shū)也叫做“覆蓋”)的區(qū)別?
常考的題目。從定義上來(lái)說(shuō):
重載:是指允許存在多個(gè)同名函數(shù),而這些函數(shù)的參數(shù)表不同(或許參數(shù)個(gè)數(shù)不同,或許參數(shù)類(lèi)型不同,或許兩者都不同)。
重寫(xiě):是指子類(lèi)重新定義復(fù)類(lèi)虛函數(shù)的方法。
從實(shí)現(xiàn)原理上來(lái)說(shuō):
重載:編譯器根據(jù)函數(shù)不同的參數(shù)表,對(duì)同名函數(shù)的名稱(chēng)做修飾,然后這些同名函數(shù)就成了不同的函數(shù)(至少對(duì)于編譯器來(lái)說(shuō)是這樣的)。如,有兩個(gè)同名函數(shù):function func(p:integer):integer;和function func(p:string):integer;。那么編譯器做過(guò)修飾后的函數(shù)名稱(chēng)可能是這樣的:int_func、str_func。對(duì)于這兩個(gè)函數(shù)的調(diào)用,在編譯器間就已經(jīng)確定了,是靜態(tài)的。也就是說(shuō),它們的地址在編譯期就綁定了(早綁定),因此,重載和多態(tài)無(wú)關(guān)!
重寫(xiě):和多態(tài)真正相關(guān)。當(dāng)子類(lèi)重新定義了父類(lèi)的虛函數(shù)后,父類(lèi)指針根據(jù)賦給它的不同的子類(lèi)指針,動(dòng)態(tài)的調(diào)用屬于子類(lèi)的該函數(shù),這樣的函數(shù)調(diào)用在編譯期間是無(wú)法確定的(調(diào)用的子類(lèi)的虛函數(shù)的地址無(wú)法給出)。因此,這樣的函數(shù)地址是在運(yùn)行期綁定的(晚綁定)。
50. 多態(tài)的作用?
主要是兩個(gè):1. 隱藏實(shí)現(xiàn)細(xì)節(jié),使得代碼能夠模塊化;擴(kuò)展代碼模塊,實(shí)現(xiàn)代碼重用;2. 接口重用:為了類(lèi)在繼承和派生的時(shí)候,保證使用家族中任一類(lèi)的實(shí)例的某一屬性時(shí)的正確調(diào)用。
金山職業(yè)技術(shù)學(xué)院對(duì)比四川汽車(chē)職業(yè)技術(shù)學(xué)院哪個(gè)好 附分..
時(shí)間:2025-05-22 09:08:12成都銀杏酒店管理學(xué)院在重慶高考招生計(jì)劃人數(shù)和專(zhuān)業(yè)代..
時(shí)間:2025-05-22 09:05:01四川上山東理工大學(xué)多少分 分?jǐn)?shù)線及排名
時(shí)間:2025-05-22 09:01:18江西高考理科533分排名多少 排名多少位次
時(shí)間:2025-05-22 08:57:21大連東軟信息學(xué)院對(duì)比甘肅民族師范學(xué)院哪個(gè)好 附分?jǐn)?shù)線..
時(shí)間:2025-05-22 08:53:39廣東高考455至460分左右物理可以上什么大學(xué)
時(shí)間:2025-05-22 08:49:52
中國(guó)點(diǎn)擊率最高的一篇文章 !2023-08-13 03:45:29
海南上長(zhǎng)春工業(yè)大學(xué)多少分 分?jǐn)?shù)線及排名2025-05-22 09:28:45
科爾沁藝術(shù)職業(yè)學(xué)院對(duì)比山東水利職業(yè)學(xué)院哪個(gè)好 附分?jǐn)?shù)線排名2025-05-22 09:25:00
呼和浩特職業(yè)學(xué)院對(duì)比山西警官職業(yè)學(xué)院哪個(gè)好 附分?jǐn)?shù)線排名2025-05-22 09:22:04
四川工程職業(yè)技術(shù)學(xué)院在上海高考招生計(jì)劃人數(shù)和專(zhuān)業(yè)代碼(參考)2025-05-22 09:19:52
泰山科技學(xué)院對(duì)比西安理工大學(xué)高科學(xué)院哪個(gè)好 附分?jǐn)?shù)線排名2025-05-22 09:16:28
江西航空職業(yè)技術(shù)學(xué)院在云南高考招生計(jì)劃人數(shù)和專(zhuān)業(yè)代碼(參考)2025-05-22 09:13:20
遼寧特殊教育師范高等專(zhuān)科學(xué)校對(duì)比江西工商職業(yè)技術(shù)學(xué)院哪個(gè)好 附分?jǐn)?shù)線排名2025-05-22 09:10:51
網(wǎng)通2018招聘筆試題和面試題答案2023-08-18 10:41:52
金蝶Java筆試題和面試題答案2023-08-19 09:56:50
軟件工程師筆試試題2023-08-16 18:30:46 




