什么是面向?qū)ο缶幊蹋?/h1>
來源:教育資源網(wǎng)
?
發(fā)布時(shí)間:2023-05-22 14:42:19
?
點(diǎn)擊:323
什么是面向?qū)ο缶幊蹋?/h3>
它通過給程序中加入擴(kuò)展語句,把函數(shù)“封裝”進(jìn)編程所必需的“對象”中。面向?qū)ο蟮木幊陶Z言使得復(fù)雜的工作條理清晰、編寫容易。
說它是一場革命,不是對對象本身而言,而是對它們處理工作的能力而言。
對象并不與傳統(tǒng)程序設(shè)計(jì)和編程方法兼容,只是部分面向?qū)ο蠓炊鴷?huì)使情形更糟。除非整個(gè)開發(fā)環(huán)境都是面向?qū)ο蟮?,否則對象產(chǎn)生的好處還沒有帶來的麻煩多。有人可能會(huì)說PHP不是一個(gè)真正的面向?qū)ο缶幊痰恼Z言, PHP 是一個(gè)混合型 語言,你可以使用面向?qū)ο缶幊?,也可以使用傳統(tǒng)的過程化編程。然而,對于大型項(xiàng)目的開發(fā),你可能想需要在PHP中使用純的面向?qū)ο缶幊倘ヂ暶黝?,而且在你的?xiàng)目開發(fā)只用對象和類。
隨著項(xiàng)目越來越大,使用面向?qū)ο缶幊炭赡軙?huì)有幫助,面向?qū)ο缶幊檀a很容易維護(hù),容易理解和重復(fù)使用,這些就是軟件工程的基礎(chǔ)。在基于Web的項(xiàng)目中應(yīng)用這些概念就成為將來網(wǎng)站成功的關(guān)鍵。對象(Object)是問題域或?qū)崿F(xiàn)域中某些事物的一個(gè)抽象,它反映此事物在系統(tǒng)中需要保存的信息和發(fā)揮的作用;它是一組屬性和有權(quán)對這些屬性進(jìn)行操作的一組服務(wù)的封裝體。
關(guān)于對象要從兩方面理解:一方面指系統(tǒng)所要處理的現(xiàn)實(shí)世界中的對象;另一方面對象是計(jì)算機(jī)不直接處理的對象,而是處理相應(yīng)的計(jì)算機(jī)表示,這種計(jì)算機(jī)表示也稱為對象。簡單的來說,一個(gè)人就是一個(gè)對象,一個(gè)尺子也可以說是個(gè)對象。
什么是面向?qū)ο缶幊?/h3>
前言:面向?qū)ο蟪绦蛟O(shè)計(jì)(Object-Oriented Programming,以下簡稱OOP)是一種起源于六十年代的Simula語言,發(fā)展已經(jīng)將近三十年的程序設(shè)計(jì)思想。其自身理論已經(jīng)十分完善,并被多種面向?qū)ο蟪绦蛟O(shè)計(jì)語言(Object-Oriented Programming Language,以下簡稱OOPL)實(shí)現(xiàn)。
如果把Unix系統(tǒng)看成是國外在系統(tǒng)軟件方面的文化根基,那么Smalltalk語言無疑在OOPL領(lǐng)域和Unix持有相同地位。
由于很多原因,國內(nèi)大部分程序設(shè)計(jì)人員并沒有很深的OOP以及OOPL理論百科,很多人從一開始學(xué)習(xí)到工作很多年都只是接觸到c/c++,java,vb,delphi等靜態(tài)類型語言,而對純粹的OOP思想以及作為OOPL根基的Smalltalk以及動(dòng)態(tài)類型語言知之甚少,不知道其實(shí)世界上還有一些可以針對變量不綁定類型的編程語言。而這些對比卻是深刻理解OO理論的重要部分,而國內(nèi)這方面的資料也為數(shù)不多。故把自己的一些OO學(xué)習(xí)心得寫下來做為一個(gè)系列文章(一共三篇,**篇描敘OOP的一些基本但容易被誤解的理論,第二篇主要說明各種OOPL演化和發(fā)展以及對于OOP理論的支持,第三篇主要是說模式和組件在OOP中的地位以及展望OOP的未來),由于文章描敘的只是自己對于OOP/OOPL的理解,錯(cuò)誤以及淺薄之處在所難免,只是希望對大家能起到拋磚引玉的作用。
什么是面向?qū)ο蟮木幊谭椒?/h3>
面向?qū)ο缶幊蹋∣bjectOrientedProgramming,OOP,面向?qū)ο蟪绦騴hidao設(shè)計(jì))是一種計(jì)算機(jī)編程架構(gòu)。OOP的一條基本原則是專計(jì)算機(jī)程序是由單個(gè)能夠起到子程序作用的單元或?qū)ο蠼M合而成。
OOP達(dá)到了軟件工程的三個(gè)主要目標(biāo):重用性、靈活性和擴(kuò)展屬性。
為了實(shí)現(xiàn)整體運(yùn)算,每個(gè)對象都能夠接收信息、處理數(shù)據(jù)和向其它對象發(fā)送信息。