面向?qū)ο蟮奶卣?/h1>
時(shí)間:
謝君787由 分享
面向?qū)ο笫擒浖_(kāi)發(fā)方法。相信大家都不太了解面向?qū)ο蟮母拍?,以下是由學(xué)習(xí)啦小編整理關(guān)于什么是面向?qū)ο蟮膬?nèi)容,希望大家喜歡!
面向?qū)ο蟮母拍?/h2>
1、對(duì)象。
對(duì)象是人們要進(jìn)行研究的任何事物,從最簡(jiǎn)單的整數(shù)到復(fù)雜的飛機(jī)等均可看作對(duì)象,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計(jì)劃或事件。
2、對(duì)象的狀態(tài)和行為。
對(duì)象具有狀態(tài),一個(gè)對(duì)象用數(shù)據(jù)值來(lái)描述它的狀態(tài)。
對(duì)象還有操作,用于改變對(duì)象的狀態(tài),對(duì)象及其操作就是對(duì)象的行為。
對(duì)象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,使數(shù)據(jù)和操作封裝于對(duì)象的統(tǒng)一體中
3、類。
具有相同特性(數(shù)據(jù)元素)和行為(功能)的對(duì)象的抽象就是類。因此,對(duì)象的抽象是類,類的具體化就是對(duì)象,也可以說(shuō)類的實(shí)例是對(duì)象,類實(shí)際上就是一種數(shù)據(jù)類型。
類具有屬性,它是對(duì)象的狀態(tài)的抽象,用數(shù)據(jù)結(jié)構(gòu)來(lái)描述類的屬性。
類具有操作,它是對(duì)象的行為的抽象,用操作名和實(shí)現(xiàn)該操作的方法來(lái)描述。
4、類的結(jié)構(gòu)。
在客觀世界中有若干類,這些類之間有一定的結(jié)構(gòu)關(guān)系。通常有兩種主要的結(jié)構(gòu)關(guān)系,即一般--具體結(jié)構(gòu)關(guān)系,整體--部分結(jié)構(gòu)關(guān)系。
?、僖话?-具體結(jié)構(gòu)稱為分類結(jié)構(gòu),也可以說(shuō)是“或”關(guān)系,或者是“is a”關(guān)系。
?、谡w--部分結(jié)構(gòu)稱為組裝結(jié)構(gòu),它們之間的關(guān)系是一種“與”關(guān)系,或者是“has a”關(guān)系。
5、消息和方法。
對(duì)象之間進(jìn)行通信的結(jié)構(gòu)叫做消息。在對(duì)象的操作中,當(dāng)一個(gè)消息發(fā)送給某個(gè)對(duì)象時(shí),消息包含接收對(duì)象去執(zhí)行某種操作的信息。發(fā)送一條消息至少要包括說(shuō)明接受消息的對(duì)象名、發(fā)送給該對(duì)象的消息名(即對(duì)象名、方法名)。一般還要對(duì)參數(shù)加以說(shuō)明,參數(shù)可以是認(rèn)識(shí)該消息的對(duì)象所知道的變量名,或者是所有對(duì)象都知道的全局變量名。
類中操作的實(shí)現(xiàn)過(guò)程叫做方法,一個(gè)方法有方法名、返回值、參數(shù)、方法體。
面向?qū)ο蟮奶卣?/h2>
1、對(duì)象唯一性。
每個(gè)對(duì)象都有自身唯一的標(biāo)識(shí),通過(guò)這種標(biāo)識(shí),可找到相應(yīng)的對(duì)象。在對(duì)象的整個(gè)生命期中,它的標(biāo)識(shí)都不改變,不同的對(duì)象不能有相同的標(biāo)識(shí)。
2、抽象性。
抽象性是指將具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對(duì)象抽象成類。一個(gè)類就是這樣一種抽象,它反映了與應(yīng)用有關(guān)的重要性質(zhì),而忽略其他一些無(wú)關(guān)內(nèi)容。任何類的劃分都是主觀的,但必須與具體的應(yīng)用有關(guān)。
3、繼承性。
繼承性是子類自動(dòng)共享父類數(shù)據(jù)結(jié)構(gòu)和方法的機(jī)制,這是類之間的一種關(guān)系。在定義和實(shí)現(xiàn)一個(gè)類的時(shí)候,可以在一個(gè)已經(jīng)存在的類的基礎(chǔ)之上來(lái)進(jìn)行,把這個(gè)已經(jīng)存在的類所定義的內(nèi)容作為自己的內(nèi)容,并加入若干新的內(nèi)容。
繼承性是面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言不同于其它語(yǔ)言的最重要的特點(diǎn),是其他語(yǔ)言所沒(méi)有的。
在類層次中,子類只繼承一個(gè)父類的數(shù)據(jù)結(jié)構(gòu)和方法,則稱為單重繼承。
在類層次中,子類繼承了多個(gè)父類的數(shù)據(jù)結(jié)構(gòu)和方法,則稱為多重繼承。
多重繼承,JAVA、VB、NET、Objective-C均僅支持單繼承,注意在C++多重繼承時(shí),需小心二義性。
在軟件開(kāi)發(fā)中,類的繼承性使所建立的軟件具有開(kāi)放性、可擴(kuò)充性,這是信息組織與分類的行之有效的方法,它簡(jiǎn)化了對(duì)象、類的創(chuàng)建工作量,增加了代碼的可重用性。
采用繼承性,提供了類的規(guī)范的等級(jí)結(jié)構(gòu)。通過(guò)類的繼承關(guān)系,使公共的特性能夠共享,提高了軟件的重用性。
4、多態(tài)性(多形性)
多態(tài)性是指相同的操作或函數(shù)、過(guò)程可作用于多種類型的對(duì)象上并獲得不同的結(jié)果。不同的對(duì)象,收到同一消息可以產(chǎn)生不同的結(jié)果,這種現(xiàn)象稱為多態(tài)性。
多態(tài)性允許每個(gè)對(duì)象以適合自身的方式去響應(yīng)共同的消息。
多態(tài)性增強(qiáng)了軟件的靈活性和重用性。
面向?qū)ο蟮囊?/h2>
1、抽象。
抽象是指強(qiáng)調(diào)實(shí)體的本質(zhì)、內(nèi)在的屬性。在系統(tǒng)開(kāi)發(fā)中,抽象指的是在決定如何實(shí)現(xiàn)對(duì)象之前的對(duì)象的意義和行為。使用抽象可以盡可能避免過(guò)早考慮一些細(xì)節(jié)。
類實(shí)現(xiàn)了對(duì)象的數(shù)據(jù)(即狀態(tài))和行為的抽象。
2、封裝性(信息隱藏)。
封裝性是保證軟件部件具有優(yōu)良的模塊性的基礎(chǔ)。
面向?qū)ο蟮念愂欠庋b良好的模塊,類定義將其說(shuō)明(用戶可見(jiàn)的外部接口)與實(shí)現(xiàn)(用戶不可見(jiàn)的內(nèi)部實(shí)現(xiàn))顯式地分開(kāi),其內(nèi)部實(shí)現(xiàn)按其具體定義的作用域提供保護(hù)。
對(duì)象是封裝的最基本單位。封裝防止了程序相互依賴性而帶來(lái)的變動(dòng)影響。面向?qū)ο蟮姆庋b比傳統(tǒng)語(yǔ)言的封裝更為清晰、更為有力。
3、共享性
面向?qū)ο蠹夹g(shù)在不同級(jí)別上促進(jìn)了共享
同一類中的共享。同一類中的對(duì)象有著相同數(shù)據(jù)結(jié)構(gòu)。這些對(duì)象之間是結(jié)構(gòu)、行為特征的共享關(guān)系。
在同一應(yīng)用中共享。在同一應(yīng)用的類層次結(jié)構(gòu)中,存在繼承關(guān)系的各相似子類中,存在數(shù)據(jù)結(jié)構(gòu)和行為的繼承,使各相似子類共享共同的結(jié)構(gòu)和行為。使用繼承來(lái)實(shí)現(xiàn)代碼的共享,這也是面向?qū)ο蟮闹饕獌?yōu)點(diǎn)之一。
在不同應(yīng)用中共享。面向?qū)ο蟛粌H允許在同一應(yīng)用中共享信息,而且為未來(lái)目標(biāo)的可重用設(shè)計(jì)準(zhǔn)備了條件。通過(guò)類庫(kù)這種機(jī)制和結(jié)構(gòu)來(lái)實(shí)現(xiàn)不同應(yīng)用中的信息共享。
4、強(qiáng)調(diào)對(duì)象結(jié)構(gòu)而不是程序結(jié)構(gòu)
看過(guò)“面向?qū)ο蟮奶卣?rdquo;的人還看了:
1.編程中面向過(guò)程和面向?qū)ο蟮膮^(qū)別
2.ios開(kāi)發(fā)面向?qū)ο蟮幕靖拍?mdash;類和對(duì)象
3.什么是對(duì)象數(shù)組 對(duì)象數(shù)組的特征與要素
4.《C#面向?qū)ο蟪绦蛟O(shè)計(jì)》課程教學(xué)探索論文