面向?qū)ο蟮某绦蛟O(shè)計(jì)總結(jié)與過(guò)程化程序設(shè)計(jì)有什么區(qū)別?
資料介紹
面向?qū)ο蟪绦蛟O(shè)計(jì)(簡(jiǎn)稱OOP)技術(shù)最近幾年在計(jì)算機(jī)領(lǐng)域得到了迅猛發(fā)展,它是程序設(shè)計(jì)方法的一場(chǎng)革命。
與傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì)(面向過(guò)程程序設(shè)計(jì))相比,它具有許多優(yōu)點(diǎn),其中最主要的是,面向?qū)ο蟪绦蛟O(shè)計(jì)是按照人類認(rèn)識(shí)世界的方法和思路方式來(lái)解決問(wèn)題。
面向?qū)ο蟪绦蛟O(shè)計(jì)試圖使程序設(shè)計(jì)環(huán)境適合于現(xiàn)實(shí)世界的問(wèn)題,而不是象過(guò)程程序設(shè)計(jì)所要求的使現(xiàn)實(shí)世界的問(wèn)題適合于程序設(shè)計(jì)語(yǔ)言。
過(guò)程化(結(jié)構(gòu)化)程序設(shè)計(jì)及其優(yōu)缺點(diǎn)(1)
結(jié)構(gòu)化程序設(shè)計(jì)的設(shè)計(jì)方法,是將程序結(jié)構(gòu)按功能劃分成若干基本模塊,這些模塊形成一個(gè)樹(shù)形結(jié)構(gòu),自頂向下,逐步求精。程序設(shè)計(jì)時(shí),使各模塊之間的關(guān)系相對(duì)緊密。
每一模塊內(nèi)部均由順序、選擇、和循環(huán)三種基本結(jié)構(gòu)組成,其模塊化實(shí)現(xiàn)的具體方法是使用了過(guò)程(子程序)。
這樣,一個(gè)較復(fù)雜的系統(tǒng)按功能分解成許多易于控制和處理的子系統(tǒng)、子任務(wù),這些子系統(tǒng)、子任務(wù)都是可獨(dú)立編程實(shí)現(xiàn)的子程序模塊,而這些子程序均由分級(jí)的用戶界面菜單實(shí)現(xiàn)調(diào)用。
在大型軟件系統(tǒng)設(shè)計(jì)中,由于軟件系統(tǒng)本身的復(fù)雜性,要求必須許多人通力合作,采用工程化的方法進(jìn)行開(kāi)發(fā)和管理,這也對(duì)程序設(shè)計(jì)語(yǔ)言和程序設(shè)計(jì)方法提出了更高的要求。
通過(guò)使用結(jié)構(gòu)化程序設(shè)計(jì)方法,可以對(duì)整個(gè)任務(wù)進(jìn)行清晰嚴(yán)格的劃分,使每個(gè)程序員能明確了解自己的工作任務(wù)以及與他人的接口。
每個(gè)程序員可以獨(dú)立地設(shè)計(jì)調(diào)試自己負(fù)責(zé)的模塊,最終各模塊也能夠順利地集成到整個(gè)系統(tǒng)中去。
結(jié)構(gòu)化程序設(shè)計(jì)方法,由于模塊之間邏輯結(jié)構(gòu)清晰,功能相對(duì)獨(dú)立,滿足了大型軟件系統(tǒng)易維護(hù)性和可讀性的要求。
因此,結(jié)構(gòu)化程序設(shè)計(jì)能夠較好地滿足大型軟件系統(tǒng)的設(shè)計(jì)要求,是現(xiàn)代軟件工程的基礎(chǔ)。
盡管結(jié)構(gòu)化程序設(shè)計(jì)具有許多優(yōu)點(diǎn),但它仍然是一種面向數(shù)據(jù)和過(guò)程的設(shè)計(jì)方法,它把數(shù)據(jù)和過(guò)程分離為相互獨(dú)立的實(shí)體。
程序員在編程時(shí)必須要時(shí)刻考慮所要處理的數(shù)據(jù)格式,對(duì)于不同的數(shù)據(jù)格式,即使要做同樣的處理或?qū)ο嗤臄?shù)據(jù)格式要做不同的處理,都需要編寫不同的程序,因此重用性不夠好。
另一方面,當(dāng)數(shù)據(jù)和過(guò)程相互獨(dú)立時(shí),總存在用錯(cuò)誤的數(shù)據(jù)調(diào)用正確程序模塊,或用正確的數(shù)據(jù)調(diào)用錯(cuò)誤程序模塊的可能性。
因此,要使數(shù)據(jù)與程序始終保持相容等問(wèn)題,結(jié)構(gòu)化程序設(shè)計(jì)方法本身是無(wú)法解決的,這可借助于新一代設(shè)計(jì)方法——面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。
面向?qū)ο蟪绦蛟O(shè)計(jì)將數(shù)據(jù)及對(duì)數(shù)據(jù)的操作融為一體,作為一個(gè)相互依存、不可分割的整體來(lái)處理。它采用數(shù)據(jù)抽象和信息隱藏技術(shù),將對(duì)象及對(duì)象的操作抽象成一種新的數(shù)據(jù)類型——類,并且考慮到不同對(duì)象之間的聯(lián)系和對(duì)象類的重用性。
面向?qū)ο蟪绦蛟O(shè)計(jì)所追求的目標(biāo)是將現(xiàn)實(shí)世界的問(wèn)題求解盡可能簡(jiǎn)單化,采用符合人類處理問(wèn)題的思維方式。
它用“對(duì)象”表現(xiàn)事物,用“事件”表示處理事物的動(dòng)作,用“方法”表現(xiàn)處理事物的過(guò)程,用“消息”傳遞對(duì)象與對(duì)象之間的相互聯(lián)
面向?qū)ο蟪绦蛟O(shè)計(jì)時(shí),不再是單純地從代碼的第一行一直編寫到最后一行,而是考慮如何創(chuàng)建對(duì)象,利用對(duì)象來(lái)簡(jiǎn)化程序設(shè)計(jì),并提供代碼的可重用性。同時(shí)面向?qū)ο蟪绦蛟O(shè)計(jì)也吸取了結(jié)構(gòu)化程序設(shè)計(jì)的優(yōu)點(diǎn)。
面向?qū)ο蟪绦蛟O(shè)計(jì),可以支持先進(jìn)的軟件開(kāi)發(fā)策略:編寫可重用代碼,編寫可維護(hù)的代碼,共享代碼,優(yōu)化已有的代碼等。
有了高質(zhì)量的可重用代碼就能有效地降低軟件的復(fù)雜性,提高軟件開(kāi)發(fā)效率。開(kāi)發(fā)者在設(shè)計(jì)軟件時(shí)可以利用一些已經(jīng)精心設(shè)計(jì)好并且經(jīng)過(guò)測(cè)試的代碼,這些可重用的代碼被組織和存放在程序設(shè)計(jì)環(huán)境的類庫(kù)中,使以后程序設(shè)計(jì)過(guò)程變得更簡(jiǎn)單。
面向?qū)ο蟪绦蛟O(shè)計(jì)方法具有模塊化、信息封裝與隱藏、抽象性、繼承性、多態(tài)性等特點(diǎn),它又解決了大型軟件系統(tǒng)設(shè)計(jì)與管理中所需的軟件可靠性、可重用性、可擴(kuò)充性、可維護(hù)性及提高開(kāi)發(fā)效率等問(wèn)題。因此,面向?qū)ο蟪绦蛟O(shè)計(jì)能夠更好地支持大型軟件系統(tǒng)的開(kāi)發(fā)。
Visual FoxPro不但仍然支持標(biāo)準(zhǔn)的結(jié)構(gòu)化程序設(shè)計(jì),而且在語(yǔ)言上還進(jìn)行了擴(kuò)展,提供了面向?qū)ο蟪绦蛟O(shè)計(jì)的強(qiáng)大功能和更大靈活性。
面向?qū)ο蠹夹g(shù)為軟件開(kāi)發(fā)提供了一種新的思想,引入了許多新的概念,這些概念是理解和使用面向?qū)ο蠹夹g(shù)的基礎(chǔ)和關(guān)鍵。
- C語(yǔ)言程序設(shè)計(jì)第四講結(jié)構(gòu)化程序設(shè)計(jì)之選擇 0次下載
- 面向對(duì)象與C++程序設(shè)計(jì)實(shí)驗(yàn)之熟悉開(kāi)發(fā)環(huán)境和簡(jiǎn)單程序設(shè)計(jì)的資料說(shuō)明 8次下載
- C++語(yǔ)言和面向對(duì)象程序設(shè)計(jì)教程 6次下載
- C++程序設(shè)計(jì)教程之基于對(duì)象的程序設(shè)計(jì)的詳細(xì)資料說(shuō)明 5次下載
- Visual FoxPro程序設(shè)計(jì)教程之結(jié)構(gòu)化程序設(shè)計(jì)的詳細(xì)資料說(shuō)明 8次下載
- Java教程之Java面向對(duì)象程序設(shè)計(jì)一維數(shù)組的使用 3次下載
- 面向對(duì)象的程序設(shè)計(jì)(C++) 0次下載
- Java_SE_理解面向對(duì)象程序設(shè)計(jì) 0次下載
- 面向對(duì)象程序設(shè)計(jì)—C++語(yǔ)言描述_PDF版 0次下載
- Visual C++面向對(duì)象與可視化程序設(shè)計(jì)習(xí)題解析與編程實(shí) 0次下載
- 面向對(duì)象的可編程控制器程序設(shè)計(jì)方法
- 面向對(duì)象程序設(shè)計(jì)基礎(chǔ) 0次下載
- Java面向對(duì)象程序設(shè)計(jì)教程 0次下載
- JAVA語(yǔ)言與面向對(duì)象程序設(shè)計(jì)課件
- c++程序設(shè)計(jì)教程
- PLC程序設(shè)計(jì)常用方法總結(jié) 5402次閱讀
- 淺談項(xiàng)目中的程序設(shè)計(jì)思路與步驟 1338次閱讀
- 解析PLC梯形圖程序設(shè)計(jì) 1610次閱讀
- RTOS應(yīng)用程序設(shè)計(jì)的五個(gè)實(shí)戰(zhàn)技巧 1119次閱讀
- 模塊化程序設(shè)計(jì)案例DCIM-3 1465次閱讀
- 如何利用邏輯設(shè)計(jì)法進(jìn)行PLC的程序設(shè)計(jì) 4017次閱讀
- 小程序和公眾號(hào)與APP有什么區(qū)別 4077次閱讀
- 史上最全Python面向對(duì)象編程的資料合集 3184次閱讀
- 一文看懂單片機(jī)與PLC程序設(shè)計(jì)的區(qū)別 7528次閱讀
- 介紹MATLAB程序設(shè)計(jì)中M程序及使用方法 7018次閱讀
- dsp28335如何入門:程序設(shè)計(jì)步驟 1.9w次閱讀
- 由傳統(tǒng)電工圖轉(zhuǎn)換為階梯圖的過(guò)程,淺談程序設(shè)計(jì) 5557次閱讀
- 單片機(jī)C語(yǔ)言程序設(shè)計(jì):TIMER0與TIMER1控制條形LED 3999次閱讀
- 程序設(shè)計(jì)基礎(chǔ):字符能像整數(shù)一樣計(jì)算 4532次閱讀
- 單片機(jī)與程序設(shè)計(jì)(下) 2919次閱讀
下載排行
本周
- 1Claroty-2024年全球CPS安全狀況:中斷對(duì)業(yè)務(wù)的影響
- 3.70 MB | 1次下載 | 免費(fèi)
- 2QK1210規(guī)格書(shū)V1
- 1.03 MB | 1次下載 | 免費(fèi)
- 3DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費(fèi)
- 4AD庫(kù)封裝庫(kù)安裝教程
- 0.49 MB | 1次下載 | 免費(fèi)
- 5PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費(fèi)
- 6網(wǎng)絡(luò)安全從業(yè)者入門指南
- 2.91 MB | 1次下載 | 免費(fèi)
- 7DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費(fèi)
- 8Quartus II原理圖輸入法教程
- 1.81 MB | 次下載 | 1 積分
本月
- 1貼片三極管上的印字與真實(shí)名稱的對(duì)照表詳細(xì)說(shuō)明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開(kāi)發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開(kāi)發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設(shè)計(jì)指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍(lán)牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費(fèi)
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評(píng)論