偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

詳細(xì)介紹什么是面向?qū)ο?/h1>

開發(fā) 開發(fā)工具
本文詳細(xì)介紹的是面向?qū)ο蟮乃枷?,主要從基本概念,面向?qū)ο蟮奶卣?,面向?qū)ο蟮囊匾约懊嫦驅(qū)ο蟮哪P蛶追矫鏋榇蠹医榻B的。希望對你有幫助,一起來看。

面向?qū)ο?/strong>(Object Oriented,簡稱OO)是當(dāng)前計(jì)算機(jī)界關(guān)心的重點(diǎn),它是90年代軟件開發(fā)方法的主流。面向?qū)ο蟮母拍詈蛻?yīng)用已超越了程序設(shè)計(jì)和軟件開發(fā),擴(kuò)展到很寬的范圍。如數(shù)據(jù)庫系統(tǒng)、交互式界面、應(yīng)用結(jié)構(gòu)、應(yīng)用平臺、分布式系統(tǒng)、網(wǎng)絡(luò)管理結(jié)構(gòu)、CAD技術(shù)、人工智能等領(lǐng)域。

表面來看,面向?qū)ο筮@個(gè)術(shù)語的意思是,把軟件組織成一系列離散的,合并了數(shù)據(jù)結(jié)構(gòu)和行為的對象。這與以前軟件開發(fā)方法中數(shù)據(jù)結(jié)構(gòu)和行為只是松散關(guān)聯(lián)是不同的。關(guān)于OO方法確切需要哪些特征學(xué)術(shù)界是有爭議的,但大致上它們都包含四個(gè)方面:標(biāo)識(identity),分類(classification) ,繼承(inheritance),多態(tài)(polymorphism)。

標(biāo)識:數(shù)據(jù)被量化成稱為對象的離散的,可辨別的實(shí)體。每個(gè)對象都有它自己的內(nèi)部標(biāo)識。換言之,即使所有的屬性都相同,兩個(gè)對象也是有差別的。

分類:擁有相同數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對象被分組成為一個(gè)類。

繼承:多個(gè)類基于一種分層關(guān)系,共享類間的屬性和操作(合稱為特征)。

多態(tài):對于不同的類來說相同的操作會有不同的動(dòng)作。

面向?qū)ο蟮幕靖拍睿?/strong>

(1)對象。

對象是人們要進(jìn)行研究的任何事物,從最簡單的整數(shù)到復(fù)雜的飛機(jī)等均可看作對象,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計(jì)劃或事件。

(2)對象的狀態(tài)和行為。

對象具有狀態(tài),一個(gè)對象用數(shù)據(jù)值來描述它的狀態(tài)。

對象還有操作,用于改變對象的狀態(tài),對象及其操作就是對象的行為。

對象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,使數(shù)據(jù)和操作封裝于對象的統(tǒng)一體中

(3)類。

具有相同或相似性質(zhì)的對象的抽象就是類。因此,對象的抽象是類,類的具體化就是對象,也可以說類的實(shí)例是對象。

類具有屬性,它是對象的狀態(tài)的抽象,用數(shù)據(jù)結(jié)構(gòu)來描述類的屬性。

類具有操作,它是對象的行為的抽象,用操作名和實(shí)現(xiàn)該操作的方法來描述。

(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),也可以說是“或”關(guān)系,或者是“is a”關(guān)系。

②整體——部分結(jié)構(gòu)稱為組裝結(jié)構(gòu),它們之間的關(guān)系是一種“與”關(guān)系,或者是“has a”關(guān)系。

(5)消息和方法。

對象之間進(jìn)行通信的結(jié)構(gòu)叫做消息。在對象的操作中,當(dāng)一個(gè)消息發(fā)送給某個(gè)對象時(shí),消息包含接收對象去執(zhí)行某種操作的信息。發(fā)送一條消息至少要包括說明接受消息的對象名、發(fā)送給該對象的消息名(即對象名、方法名)。一般還要對參數(shù)加以說明,參數(shù)可以是認(rèn)識該消息的對象所知道的變量名,或者是所有對象都知道的全局變量名。

面向?qū)ο蟮奶卣鳎?/strong>

(1)對象唯一性。

每個(gè)對象都有自身唯一的標(biāo)識,通過這種標(biāo)識,可找到相應(yīng)的對象。在對象的整個(gè)生命期中,它的標(biāo)識都不改變,不同的對象不能有相同的標(biāo)識。

(2)分類性。

分類性是指將具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對象抽象成類。一個(gè)類就是這樣一種抽象,它反映了與應(yīng)用有關(guān)的重要性質(zhì),而忽略其他一些無關(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ǔ)之上來進(jìn)行,把這個(gè)已經(jīng)存在的類所定義的內(nèi)容作為自己的內(nèi)容,并加入若干新的內(nèi)容。

繼承性是面向?qū)ο蟪绦蛟O(shè)計(jì)語言不同于其它語言的最重要的特點(diǎn),是其他語言所沒有的。

在類層次中,子類只繼承一個(gè)父類的數(shù)據(jù)結(jié)構(gòu)和方法,則稱為單重繼承。

在類層次中,子類繼承了多個(gè)父類的數(shù)據(jù)結(jié)構(gòu)和方法,則稱為多重繼承。

在軟件開發(fā)中,類的繼承性使所建立的軟件具有開放性、可擴(kuò)充性,這是信息組織與分類的行之有效的方法,它簡化了對象、類的創(chuàng)建工作量,增加了代碼的可重性。

采用繼承性,提供了類的規(guī)范的等級結(jié)構(gòu)。通過類的繼承關(guān)系,使公共的特性能夠共享,提高了軟件的重用性。

(4)多態(tài)性(多形性)

多態(tài)性使指相同的操作或函數(shù)、過程可作用于多種類型的對象上并獲得不同的結(jié)果。不同的對象,收到同一消息可以產(chǎn)生不同的結(jié)果,這種現(xiàn)象稱為多態(tài)性。

多態(tài)性允許每個(gè)對象以適合自身的方式去響應(yīng)共同的消息。

多態(tài)性增強(qiáng)了軟件的靈活性和重用性。

面向?qū)ο蟮囊兀?/strong>

(1)抽象。

抽象是指強(qiáng)調(diào)實(shí)體的本質(zhì)、內(nèi)在的屬性。在系統(tǒng)開發(fā)中,抽象指的是在決定如何實(shí)現(xiàn)對象之前的對象的意義和行為。使用抽象可以盡可能避免過早考慮一些細(xì)節(jié)。

類實(shí)現(xiàn)了對象的數(shù)據(jù)(即狀態(tài))和行為的抽象。

(2)封裝性(信息隱藏)。

封裝性是保證軟件部件具有優(yōu)良的模塊性的基礎(chǔ)。

面向?qū)ο蟮念愂欠庋b良好的模塊,類定義將其說明(用戶可見的外部接口)與實(shí)現(xiàn)(用戶不可見的內(nèi)部實(shí)現(xiàn))顯式地分開,其內(nèi)部實(shí)現(xiàn)按其具體定義的作用域提供保護(hù)。

對象是封裝的最基本單位。封裝防止了程序相互依賴性而帶來的變動(dòng)影響。面向?qū)ο蟮姆庋b比傳統(tǒng)語言的封裝更為清晰、更為有力。

(3)共享性

面向?qū)ο蠹夹g(shù)在不同級別上促進(jìn)了共享

同一類中的共享。同一類中的對象有著相同數(shù)據(jù)結(jié)構(gòu)。這些對象之間是結(jié)構(gòu)、行為特征的共享關(guān)系。

在同一應(yīng)用中共享。在同一應(yīng)用的類層次結(jié)構(gòu)中,存在繼承關(guān)系的各相似子類中,存在數(shù)據(jù)結(jié)構(gòu)和行為的繼承,使各相似子類共享共同的結(jié)構(gòu)和行為。使用繼承來實(shí)現(xiàn)代碼的共享,這也是面向?qū)ο蟮闹饕獌?yōu)點(diǎn)之一。

在不同應(yīng)用中共享。面向?qū)ο蟛粌H允許在同一應(yīng)用中共享信息,而且為未來目標(biāo)的可重用設(shè)計(jì)準(zhǔn)備了條件。通過類庫這種機(jī)制和結(jié)構(gòu)來實(shí)現(xiàn)不同應(yīng)用中的信息共享。

4.強(qiáng)調(diào)對象結(jié)構(gòu)而不是程序結(jié)構(gòu)

面向?qū)ο蟮拈_發(fā)方法:

目前,面向?qū)ο箝_發(fā)方法的研究已日趨成熟,國際上已有不少面向?qū)ο螽a(chǎn)品出現(xiàn)。面向?qū)ο箝_發(fā)方法有Coad方法、Booch方法和OMT方法等。

1.Booch方法

Booch***描述了面向?qū)ο蟮能浖_發(fā)方法的基礎(chǔ)問題,指出面向?qū)ο箝_發(fā)是一種根本不同于傳統(tǒng)的功能分解的設(shè)計(jì)方法。面向?qū)ο蟮能浖纸飧咏藢陀^事務(wù)的理解,而功能分解只通過問題空間的轉(zhuǎn)換來獲得。

2.Coad方法

Coad方法是1989年Coad和Yourdon提出的面向?qū)ο箝_發(fā)方法。該方法的主要優(yōu)點(diǎn)是通過多年來大系統(tǒng)開發(fā)的經(jīng)驗(yàn)與面向?qū)ο蟾拍畹挠袡C(jī)結(jié)合,在對象、結(jié)構(gòu)、屬性和操作的認(rèn)定方面,提出了一套系統(tǒng)的原則。該方法完成了從需求角度進(jìn)一步進(jìn)行類和類層次結(jié)構(gòu)的認(rèn)定。盡管Coad方法沒有引入類和類層次結(jié)構(gòu)的術(shù)語,但事實(shí)上已經(jīng)在分類結(jié)構(gòu)、屬性、操作、消息關(guān)聯(lián)等概念中體現(xiàn)了類和類層次結(jié)構(gòu)的特征。

3.OMT方法

OMT方法是1991年由James Rumbaugh等5人提出來的,其經(jīng)典著作為“面向?qū)ο蟮慕Ec設(shè)計(jì)”。

該方法是一種新興的面向?qū)ο蟮拈_發(fā)方法,開發(fā)工作的基礎(chǔ)是對真實(shí)世界的對象建模,然后圍繞這些對象使用分析模型來進(jìn)行獨(dú)立于語言的設(shè)計(jì),面向?qū)ο蟮慕:驮O(shè)計(jì)促進(jìn)了對需求的理解,有利于開發(fā)得更清晰、更容易維護(hù)的軟件系統(tǒng)。該方法為大多數(shù)應(yīng)用領(lǐng)域的軟件開發(fā)提供了一種實(shí)際的、高效的保證,努力尋求一種問題求解的實(shí)際方法。

4.UML(Unified Modeling Language)語言

軟件工程領(lǐng)域在1995年~1997年取得了***的進(jìn)展,其成果超過軟件工程領(lǐng)域過去15年的成就總和,其中最重要的成果之一就是統(tǒng)一建模語言(UML)的出現(xiàn)。UML將是面向?qū)ο蠹夹g(shù)領(lǐng)域內(nèi)占主導(dǎo)地位的標(biāo)準(zhǔn)建模語言。

UML不僅統(tǒng)一了Booch方法、OMT方法、OOSE方法的表示方法,而且對其作了進(jìn)一步的發(fā)展,最終統(tǒng)一為大眾接受的標(biāo)準(zhǔn)建模語言。UML是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語言。它融入了軟件工程領(lǐng)域的新思想、新方法和新技術(shù)。它的作用域不限于支持面向?qū)ο蟮姆治雠c設(shè)計(jì),還支持從需求分析開始的軟件開發(fā)全過程。

面向?qū)ο蟮哪P停?/strong>

(1)對象模型

對象模型表示了靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)數(shù)據(jù)性質(zhì),描述了系統(tǒng)的靜態(tài)結(jié)構(gòu),它是從客觀世界實(shí)體的對象關(guān)系角度來描述,表現(xiàn)了對象的相互關(guān)系。該模型主要關(guān)心系統(tǒng)中對象的結(jié)構(gòu)、屬性和操作,它是分析階段三個(gè)模型的核心,是其他兩個(gè)模型的框架。

(2)動(dòng)態(tài)模型

動(dòng)態(tài)模型是與時(shí)間和變化有關(guān)的系統(tǒng)性質(zhì)。該模型描述了系統(tǒng)的控制結(jié)構(gòu),它表示了瞬間的、行為化的系統(tǒng)控制

性質(zhì),它關(guān)心的是系統(tǒng)的控制,操作的執(zhí)行順序,它表示從對象的事件和狀態(tài)的角度出發(fā),表現(xiàn)了對象的相互行為。

該模型描述的系統(tǒng)屬性是觸發(fā)事件、事件序列、狀態(tài)、事件與狀態(tài)的組織。使用狀態(tài)圖作為描述工具。它涉及到事件、狀態(tài)、操作等重要概念。

(3)功能模型

功能模型描述了系統(tǒng)的所有計(jì)算。功能模型指出發(fā)生了什么,動(dòng)態(tài)模型確定什么時(shí)候發(fā)生,而對象模型確定發(fā)生的客體。功能模型表明一個(gè)計(jì)算如何從輸入值得到輸出值,它不考慮計(jì)算的次序。功能模型由多張數(shù)據(jù)流圖組成。數(shù)據(jù)流圖用來表示從源對象到目標(biāo)對象的數(shù)據(jù)值的流向,它不包含控制信息,控制信息在動(dòng)態(tài)模型中表示,同時(shí)數(shù)據(jù)流圖也不表示對象中值的組織,值的組織在對象模型中表示。

希望通過本文的介紹,能夠給你帶來幫助。

【編輯推薦】

  1. 面向?qū)ο筌浖y試技術(shù)研究
  2. JavaScript面向?qū)ο缶幊躺钊敕治?/span>
  3. Javascript面向?qū)ο缶幊蹋ㄒ唬?封裝
  4. C語言的面向?qū)ο笫街貥?gòu)
  5. C#面向?qū)ο蟪绦蛟O(shè)計(jì)與框架
責(zé)任編輯:于鐵 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2023-01-10 09:38:09

面向對象系統(tǒng)

2011-06-28 11:06:16

Scala

2009-10-13 17:03:55

VB.NET面向?qū)ο?/a>

2009-11-18 11:05:27

PHP串行化

2010-03-18 14:46:18

Java SynDem

2010-03-18 18:20:34

Java Socket

2009-08-25 17:28:23

C#創(chuàng)建DataSet

2010-01-04 14:11:51

ADO.Records

2009-08-14 16:01:22

C#面向?qū)ο?/a>

2009-07-08 14:23:40

JVM是什么

2011-07-13 16:14:51

DLL

2020-07-23 17:29:47

接口編程代碼

2009-12-31 09:42:41

ADO對象模型

2021-12-24 10:21:57

Python函數(shù)開發(fā)

2019-09-24 10:17:14

2011-07-06 17:25:20

2009-11-11 09:11:19

2011-07-06 17:37:38

ASP

2011-07-21 17:19:47

java面向?qū)ο?/a>

2009-12-22 09:43:20

ADO.NET對象
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號