亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        二級共公基礎(chǔ)知識教程第2章下

        字號:

        2.3面向?qū)ο蟮某绦蛟O(shè)計
            一、關(guān)于面向?qū)ο蠓椒?BR>    面向?qū)ο蠓椒ǖ谋举|(zhì),就是主張從客觀世界固有的事物出發(fā)來構(gòu)造系統(tǒng),提倡用人類在現(xiàn)實生活中常用的思維方法來認識、理解和描述客觀事物,強調(diào)最終建立的系統(tǒng)能夠映射問題域,也就是說,系統(tǒng)中的對象以及對象之間的關(guān)系能夠如實地反映問題域中固有事物及其關(guān)系。
            優(yōu)點:1、與人類習(xí)慣的思維方法一致
            面向?qū)ο蠓椒ê图夹g(shù)以對象為核心。對象是由數(shù)據(jù)和容許的操作組成的封裝體,與客觀實體有直接的關(guān)系。對象之間通過傳遞消息互相聯(lián)系,以模擬現(xiàn)實世界中不同事物彼此之間的聯(lián)系。
            面向?qū)ο蟮脑O(shè)計方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,這種方法的基本原理是:使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題。它強調(diào)模擬現(xiàn)實世界中的概念而不強調(diào)算法,它鼓勵開發(fā)者在軟件開發(fā)的絕大部分過程中都用應(yīng)用領(lǐng)域的要領(lǐng)去思考。
            2、穩(wěn)定性好
            3、可重用性好
            軟件重用是指在不同的軟件開發(fā)過程中重復(fù)作用相同或相似軟件元素的過程。重用是提高軟件生產(chǎn)率的最主要的方法。
            4、易于開發(fā)大型軟件產(chǎn)品
            5、可維護性好
            (1)用面向?qū)ο蟮姆椒ㄩ_發(fā)的軟件穩(wěn)定性比較好
            (2)用面向?qū)ο蟮姆椒ㄩ_發(fā)的軟件比較容易修改;
            (3)用面向?qū)ο蟮姆椒ㄩ_發(fā)的軟件比較容易理解。
            (4)易于測試和調(diào)試。
            二、面向?qū)ο蠓椒ǖ幕靖拍?BR>    1、對象(object)
            對象是面向?qū)ο蠓椒ㄖ凶罨镜母拍?。對象可以用來表示客觀世界中的任何實體,也就是說,應(yīng)用領(lǐng)域中有意義的、與所要解決的問題有關(guān)系的任何事物都可以作為對象,它既可以是具體的物理實體的抽象,也可以是人為的概念,或者是任何有明確邊界的意義的東西??傊?,對象是對問題域中某個實體的抽象,設(shè)立某個對象就反映軟件系統(tǒng)保存有關(guān)它的信息并具有與它進行交互的能力。
            面向?qū)ο蟮某绦蛟O(shè)計方法中涉及的對象是系統(tǒng)中用來描述客觀事物的一個實體,是構(gòu)成系統(tǒng)的一個基本單位,它由一組表示其靜態(tài)特征的屬性和它可執(zhí)行的一組操作組成。
            對象可以做的操作表示它的動態(tài)行為,在面向?qū)ο蠓治龊兔嫦驅(qū)ο笤O(shè)計中,通常把對象的操作也稱為方法或服務(wù)。
            屬性即對象所包含的信息,它在設(shè)計對象時確定,一般只能通過對象的操作來改變。
            操作描述了對象執(zhí)行的功能,若通過消息傳遞,還可以為其他對象使用。操作的過程對外是封閉的,即用戶只能看到這一操作實施后的結(jié)果。這相當(dāng)于事先已經(jīng)設(shè)計好的各種過程,只需要調(diào)用就可以了,用戶不必去關(guān)心這一過程是如何編寫的。事實上,這個過程已經(jīng)封裝在對象中,用戶也看不到。對的這一特性即是對象的封裝性。
            對象有如下一些基本特點:
            (1) 標(biāo)識惟一性。指對象是可區(qū)分的,并且由對象有的內(nèi)在本質(zhì)來區(qū)分,而不是通過描述來區(qū)分。
            (2) 分類性。指可以將具有相同屬性的操作的對象抽象成類。
            (3) 多太性。指同一個操作可以是不同對象的行為。
            (4) 封裝性。從外面看只能看到對象的外部特性,即只需知道數(shù)據(jù)的取值范圍和可以對該數(shù)據(jù)施加的操作,根本無需知道數(shù)據(jù)的具體結(jié)構(gòu)以及實現(xiàn)操作的算法。對象的內(nèi)部,即處理能力的實行和內(nèi)部狀態(tài),對外是不可見的。從外面不能直接使用對象的處理能力,也不能直接修改其內(nèi)部狀態(tài),對象的內(nèi)部狀態(tài)只能由其自身改變。
            (5) 模塊獨立性好。對象是面向?qū)ο蟮能浖幕灸K,它是由數(shù)據(jù)及可以對這些數(shù)據(jù)施加的操作所組成的統(tǒng)一體,而且對象是以數(shù)據(jù)為中心的,操作圍繞對其數(shù)據(jù)所需做的處理來設(shè)置,沒有無關(guān)的操作從模塊的獨立性考慮,對象內(nèi)部各種元素彼此結(jié)合得很緊密,內(nèi)聚性強。
            2、類(Class)和實例(Instance)
            將屬性、操作相似的對象歸為類,也就是說,類是具有共同屬性、共同方法的對象的集合。所以,類是對象的抽象,它描述了屬于該對象類型的所有對象的性質(zhì),而一個對象則是其對應(yīng)類的一個實例。
            要注意的是,當(dāng)使用“對象”這個術(shù)語時,既可以指一個具體的對象,也可以泛指一般的對象,但是,當(dāng)使用“實例”這個術(shù)語時,必然是指一個具體的對象。
            例如:Integer是一個整數(shù)類,它描述了所有整數(shù)的性質(zhì)。因此任何整數(shù)都是整數(shù)類的對象,而一個具體的整數(shù)“123”是類Integer的實例。
            由類的定義可知,類是關(guān)于對象性質(zhì)的描述,它同對象一樣,包括一組數(shù)據(jù)屬性和在數(shù)據(jù)上的一組合法操作。
            3、消息(Message)
            面向?qū)ο蟮氖澜缡峭ㄟ^對象與對象間彼此的相互合作來推動的,對象間的這種相互合作需要一個機制協(xié)助進行,這樣的機制稱為“消息”。消息是一個實例與另一個實例之間傳遞信息,它請示對象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流的控制流。消息的使用類似于函數(shù)調(diào)用,消息中指定了某一個實例,一個操作名和一個參數(shù)表(可空)。接收消息的實例執(zhí)行消息中指定的操作,并將形式參數(shù)數(shù)與參數(shù)表中相應(yīng)的值結(jié)合起來。消息傳遞過程中,由發(fā)送消息的對象(發(fā)送對象)的觸發(fā)操作產(chǎn)生輸出結(jié)果,作為消息傳送至接受消息的對象(接受對象),引發(fā)接受消息的對象一系列的操作。所傳送的消息實質(zhì)上是接受對象所具有的操作/方法名稱,有時還包括相應(yīng)參數(shù)。