亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        淺談面向?qū)ο蠛兔嫦蜻^程的程序設(shè)計

        2017-09-09 04:41:51馮媛媛

        馮媛媛

        摘要:隨著面向?qū)ο蟪绦蛟O(shè)計方法的出現(xiàn),對象作為該方法的核心技術(shù),正在得到新的開發(fā)語言和新的系統(tǒng)架構(gòu)的支持,兩種開發(fā)方法存在著質(zhì)的區(qū)別。本文從面向過程程序設(shè)計的結(jié)構(gòu)化思想和面向?qū)ο蟪绦蛟O(shè)計的抽象、封裝、繼承、多態(tài)技術(shù)入手做主要論述,詳細(xì)介紹了兩種程序設(shè)計方法的特點(diǎn)、優(yōu)缺點(diǎn)以及相互聯(lián)系。

        關(guān)鍵詞:面向?qū)ο螅幻嫦蜻^程;程序設(shè)計

        中圖分類號:TP311.1 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2017)07-0185-01

        1 引言

        程序設(shè)計是為了解決某一類問題所設(shè)計的通用的解決辦法的程序,通過運(yùn)行程序后進(jìn)行特定的輸入域輸出,最后得出運(yùn)行結(jié)果,是構(gòu)造一個軟件活動必不可少的部分,程序設(shè)計活動與大多數(shù)設(shè)計活動一樣是為了平衡約束條件和相互矛盾的需求而進(jìn)行的。計算機(jī)技術(shù)在早期發(fā)展階段,機(jī)器資源非常昂貴,因此在設(shè)計程序時必須要考慮到時間、空間代價等因素,而隨著計算機(jī)應(yīng)用技術(shù)的發(fā)展和軟件規(guī)模的擴(kuò)張,程序的結(jié)構(gòu)、可重用性、可維護(hù)性、可擴(kuò)展性等因素在設(shè)計時顯得尤為重要?,F(xiàn)如今,面向?qū)ο蠛兔嫦蜻^程的程序設(shè)計是較為常用的兩個成熟的設(shè)計方式。

        2 面向?qū)ο蠛兔嫦蜻^程的程序設(shè)計各自的特點(diǎn)

        2.1 面向?qū)ο蟮某绦蛟O(shè)計

        面向?qū)ο缶幊淌鞘褂脤ο蟮木幊谭妒健瑪?shù)據(jù)域、方法以及它們之間的交互來設(shè)計應(yīng)用和程序。其程序設(shè)計方法包括數(shù)據(jù)抽象、封裝、通信、模塊化、多態(tài)和繼承。簡單來看,我們可以對面向?qū)ο缶幊套鞒鋈缦聨c(diǎn)理解:首先,它必須將數(shù)據(jù)抽象為模塊結(jié)構(gòu);其次,必須存在某種方式來實(shí)現(xiàn)代碼的多態(tài)執(zhí)行;最后,它至少能部分壓縮代碼和函數(shù)。面向?qū)ο蟮某绦蛟O(shè)計大都遵循傳遞者模式(Mediator Pattern),并且被設(shè)計為從sender中解耦caller,其都提供狀態(tài),且都是模塊化的[1]。

        2.2 面向過程的程序設(shè)計

        面向過程是一種以事件為中心的編程思想,以功能(行為)為導(dǎo)向,按模塊化的設(shè)計,分析出解決問題所需要的步驟,然后用函數(shù)把這些步驟一步一步實(shí)現(xiàn),在實(shí)現(xiàn)過程中一個一個依次調(diào)用即可。面向過程的程序設(shè)計是自頂而下的,首先他需要設(shè)計者將應(yīng)用程序需要完成的業(yè)務(wù)按照功能分類,并劃分出子模塊,同時將整個應(yīng)用程序所要完成的事情寫在一個main函數(shù)中,由該main函數(shù)對這一系列的子函數(shù)的進(jìn)行調(diào)用。對于每個子函數(shù)來說,可以對其進(jìn)行再次分解,使其變?yōu)槟K更小的子函數(shù)。完成一個過程式的設(shè)計從本質(zhì)上來說就是一直重復(fù)該過程。用一句話來概括面向過程的設(shè)計方法的特征即為:以函數(shù)為中心,并將其作為基本單位來劃分程序,數(shù)據(jù)在這種設(shè)計方法中一般處于從屬的位置。

        3 面向?qū)ο蠛兔嫦蜻^程的程序設(shè)計的比較

        3.1 從在開發(fā)過程中的運(yùn)用來看面向?qū)ο蠛兔嫦蜻^程的程序設(shè)計

        面向過程的設(shè)計方法是通過逐步細(xì)化問題的方式來進(jìn)行設(shè)計,該方法符合多數(shù)人的邏輯思維方式。但是由于過程式的設(shè)計是自頂向下的,這就需要設(shè)計人員對要解決的問題有一個整體上的把握,但是現(xiàn)實(shí)情況中是很少有人能做到這一點(diǎn)的,尤其是在比較復(fù)雜的情況下,因此這種方法對于開發(fā)需求比較多的問題或比較復(fù)雜的工程項(xiàng)目而言,是不太適用的。開發(fā)一個系統(tǒng)的過程是一個創(chuàng)造性的過程,開發(fā)者或設(shè)計者不僅需要不斷地去了解要開發(fā)的系統(tǒng),還需要學(xué)習(xí)相應(yīng)的技術(shù),而過程式的設(shè)計方法忽略了這一點(diǎn)。面向?qū)ο蟮脑O(shè)計方法是自底向上的,它不需要在一開始用main概括出整個應(yīng)用程序,其自底向上的特性允許程序設(shè)計者從問題的最底層開始逐步加深對系統(tǒng)整體的理解,開發(fā)者在設(shè)計過程中遇到的需求變化及得到的新的理解,都會再次作用到系統(tǒng)開發(fā)本身,形成一種螺旋式的開發(fā)方式。

        3.2 從編程語言來看面向?qū)ο蠛兔嫦蜻^程的程序設(shè)計

        C語言是面向過程的設(shè)計方法的代表性語言,其包括定義數(shù)據(jù)的元素和定義操作的元素,比如在C語言中,要使得數(shù)據(jù)和操作分離開來,就要單獨(dú)來定義數(shù)據(jù)和操作,數(shù)據(jù)和操作的元素在C語言中分別用結(jié)構(gòu)和函數(shù)來定義。數(shù)據(jù)和操作的分離可能會造成對一種數(shù)據(jù)的操作分布在程序的各個角落,那么當(dāng)我們要對數(shù)據(jù)和操作進(jìn)行修改的時候,即便是微小的修改,也會變得非常困難。在面向過程的設(shè)計中,main()函數(shù)可以調(diào)用子函數(shù),對于整個應(yīng)用程序來說處在一個尤為重要的位置。一般來說在面向過程的設(shè)計方式中,對于整個系統(tǒng)的概括性描述開發(fā)者會寫在一個main()函數(shù)中,之后再逐步細(xì)化出整個應(yīng)用程序。然而,這樣做會使得程序的核心邏輯不夠清晰,易與一些較外延和易變化的邏輯混淆在一起[2]。

        封裝性、繼承性和多態(tài)性是java語言中的三個典型的面向?qū)ο蟮奶匦浴jP(guān)于封裝性:在java語言中,與程序相關(guān)的變量和方法由對象對其進(jìn)行相應(yīng)的封裝,其中變量指對象的狀態(tài),方法指對象具有的行為。通過對象的封裝,如通過對類中的成員設(shè)置訪問權(quán)限,實(shí)現(xiàn)類成員信息的隱藏。關(guān)于繼承性:通過繼承可實(shí)現(xiàn)代碼重復(fù)利用。Java中的類基本都是通過直接或間接地繼承java.lang.Object類而得到的。在父類中,如果成員變量和方法的訪問權(quán)限為private,則不能被子類繼承。父類的方法能夠被子類重寫,子類與父類同名的成員變量也能被子類重命名,但Java語言不能夠?qū)崿F(xiàn)多重繼承。關(guān)于多態(tài)性:在java語言中,多態(tài)性體現(xiàn)在兩個方面:靜態(tài)多態(tài)性和動態(tài)多態(tài)性,靜態(tài)多態(tài)性也稱為編譯時多態(tài),在編譯階段,編譯器會根據(jù)參數(shù)的不同來靜態(tài)確定具體調(diào)用哪個被重載的方法,由方法重載實(shí)現(xiàn);動態(tài)多態(tài)性也稱為運(yùn)行時多態(tài),由方法重寫實(shí)現(xiàn)。程序中凡是使用父類對象的地方,都可以用子類對象來代替。一個對象可以通過引用子類的實(shí)例來調(diào)用子類的方法。

        4 結(jié)語

        總之,面向?qū)ο笾匾晫ΜF(xiàn)實(shí)世界的抽象,用于解決“做什么”在面向?qū)ο笤O(shè)計中,類封裝了數(shù)據(jù),而類的成員函數(shù)作為其對外的接口,抽象地描述了類。用類將數(shù)據(jù)和操作這些數(shù)據(jù)的函數(shù)放在一起,這可以說就是面向?qū)ο笤O(shè)計方法的本質(zhì)。而面向過程的設(shè)計方法重視對問題的功能模塊化,用于解決“怎么做”。

        參考文獻(xiàn)

        [1]譚娟.面向過程和面向?qū)ο蟪绦蛟O(shè)計的比較[J].湖南科技學(xué)院學(xué)報,2008,(12):117-118.

        [2]石博文.淺談面向?qū)ο蠛兔嫦蜻^程程序設(shè)計[J].電子世界,2017,(1):59-60.endprint

        翘臀诱惑中文字幕人妻| 少妇极品熟妇人妻无码| 亚洲欧洲久久久精品| 亚洲av精品一区二区| 日本最新一区二区三区在线视频| 亚洲国产精品国自产拍av| 久久久精品人妻一区亚美研究所| 无码8090精品久久一区| 成人大片在线观看视频| 国产色系视频在线观看| 国产精品成人免费视频网站京东| 激情 一区二区| 极品少妇人妻一区二区三区| 放荡的少妇2欧美版| 国99精品无码一区二区三区| 亚洲日韩一区二区三区| 波多野结衣在线播放一区| 国内偷拍视频一区二区| 国产精品亚洲av三区亚洲| 男女啪啪无遮挡免费网站| 欧美一区二区午夜福利在线yw| 91国产视频自拍在线观看| 国产亚洲欧美精品永久| 免费国产裸体美女视频全黄| 国内精品久久久久久久亚洲| 精品少妇一区二区三区入口| 亚洲精品动漫免费二区| 亚洲欧洲高潮| 久久精品网站免费观看| 亚洲成人av一二三四区| aaa级久久久精品无码片| 91久久国产综合精品| 亚洲一区二区三区色偷偷| 精品九九人人做人人爱| 久久精品日韩av无码| 一亚洲一区二区中文字幕| 精品一区三区视频在线观看| 国产高清在线精品一区| 韩日无码不卡| 一区二区三区视频亚洲| 精品久久久久久无码人妻热|