国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于實(shí)例的面向過程與面向?qū)ο蟮幕咎攸c(diǎn)探析

2020-05-12 02:10劉雅菲宇澳齊笑甜
科技資訊 2020年8期
關(guān)鍵詞:面向?qū)ο?/a>程序設(shè)計(jì)

劉雅菲 宇澳 齊笑甜

摘 ?要:面向過程和面向?qū)ο笞鳛槲覀兙幊坛S玫姆椒ǎ诟呒夘I(lǐng)域中有廣泛的應(yīng)用。在計(jì)算機(jī)編程中,各有其優(yōu)勢和長處,為寫出復(fù)雜度更低的程序,使之擁有更好的性能,我們要對其特點(diǎn)有明確的了解。該文主要通過具體實(shí)例分析面向過程和面向?qū)ο笤诓煌Z言中的用法,從而對其編程風(fēng)格做出更明確的闡述,能夠更深入地使用、了解這兩種方法。

關(guān)鍵詞:程序設(shè)計(jì) ?面向過程 ?面向?qū)ο?/p>

中圖分類號:TP31 ? 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2020)03(b)-0003-02

“面向過程”(Procedure Oriented)是一種以過程為中心的編程思想。也可被稱為“面向記錄”編程思想[1],主要語言有Pascal、C語言等。面向?qū)ο螅∣bject Oriented)是一種以事物為中心的編程思想。采用對象、類以及一些相關(guān)概念所進(jìn)行的程序設(shè)計(jì)。主要有Eiffel、C++、Java、PHP等[2]。

1 ?面向過程與面向?qū)ο蠡咎攸c(diǎn)分析

面向過程最常用的一個(gè)分析方法就是“功能分解”,即先將用戶需求分解成模塊,然后把模塊分解成大的功能,再把大的功能分解為小的功能,最終分解成不同的函數(shù),這種方式被稱為“自頂向下”,采用結(jié)構(gòu)化思想,原則是“先整體后局部”“先大后小”[3],便于程序的后期調(diào)試和維護(hù)。

面向?qū)ο蟮暮诵臑閷ο?,對象是人們要研究的各種事物,它可以是日常生活中具體的事物,還能是一些抽象的規(guī)則、計(jì)劃等。對象的抽象化為類。簡單來講,類=數(shù)據(jù)+操作。其中,數(shù)據(jù)用來描述對象的性質(zhì)和狀態(tài);操作是指對象的行為,而具有相同和相似性質(zhì)的一組對象則稱為“類”。將繁瑣的步驟進(jìn)行行為、功能,模塊化,就是面向?qū)ο?,其核心為事物整體,是把構(gòu)成問題的事物分解成各個(gè)對象,建立對象的目的不是為了完成某一個(gè)步驟,而是為了描述某個(gè)事物在整個(gè)解決問題的步驟中的行為。

在面向?qū)ο蠛兔嫦蜻^程兩種方法中,面向?qū)ο蠓椒ǖ膶ο蠛兔嫦蜻^程的數(shù)據(jù)是相互對應(yīng)的;類作為一種抽象的數(shù)據(jù)類型,與面向過程的結(jié)構(gòu)存在相似點(diǎn);而方法和函數(shù)則分別是兩種編程方法的主要組成部分。在面向?qū)ο缶幊趟枷胫校瑢ο笠灶惖男问?,用代碼寫成可描述的屬性或方法,通過相互傳遞消息來完成通信,又通過處理,形成抽象或具體的類;在面向過程的編程方法中,同理,我們以函數(shù)的形式,通過函數(shù)調(diào)用來完成,我們又能對數(shù)據(jù)做出新的處理。通過此圖(見圖1),我們可以明確地看出面向?qū)ο蠛兔嫦蜻^程的異同點(diǎn)。

2 ?程序執(zhí)行機(jī)制

為了更清晰地了解兩種方法之間的關(guān)系,我們以典型的“求長方形的周長和面積”為例,對比分析面向過程和面向?qū)ο蟪绦蛟O(shè)計(jì)方法之間的異同,從而明確分析二者的使用場景。

2.1 面向過程程序設(shè)計(jì)

我們首先要確定想做的內(nèi)容,先定義求面積和周長的函數(shù),寫出周長和面積的相關(guān)算法,最后通過調(diào)用。具體代碼為:

int Area(int a,int b)//求面積

{int s;//定義面積變量

s=a*b;//面積公式

return s;}

int Perimeter(int a,int b)//求周長

{int c;//定義周長變量

c=2*(a+b);//周長公式

returnc;}

int main()

{intl,w,s,c;//定義長方形的長,寬,面積,周長

scanf("%d%d",&l,&w);//手動輸入長和寬

printf("長方形的面積為%d,周長為%d\n",Area(l,w),Perimeter(l,w));//輸出面積和周長

return0;}

2.2 面向?qū)ο蟪绦蛟O(shè)計(jì)

既然題目所求的對象為“長方形”,因此,我們這道題就要以長方形為中心展開。

而類作為對象的抽象化,就要先分離出“長方形”這個(gè)對象的屬性,具有長和寬,因此我們就書寫相應(yīng)的方法與函數(shù),我們需要求其周長和面積。因此,我們定義了一個(gè)長方形類,最終在主函數(shù)中調(diào)用,從而求出某具體長方形的面積。詳細(xì)代碼如下。

public class Rect {//類代碼

public double length;

public double width;

public double getLength()

{return length;}

public void setLength(double l)

{ ?l = length;}

public double getWidth()

{ ? return width; ?}

public void setWidth(double w)

{ ?w = width; ?}

public Rect(double l, double w)

{ ?l = length;

w = width;}

public double SRect() ? //求面積

{ ?return length*width;}

public double CRect() ?//求周長

{return 2*(length+width);} ?}

3 ?結(jié)語

面向過程和面向?qū)ο?,程序的編寫發(fā)生了根本性的變化:C語言作為典型的“面向過程”設(shè)計(jì)語言,我們發(fā)現(xiàn)面向過程就是分析出解決問題所需要的步驟,然后用函數(shù)把這些步驟實(shí)現(xiàn),使用的時(shí)候按需調(diào)用。Java是典型的“面向?qū)ο蟆痹O(shè)計(jì)語言,從上文一小段代碼可以看出,面向?qū)ο缶秃帽葓F(tuán)隊(duì)合作,需要很多人完成。

面向過程思想是我們每一個(gè)人天生具備的。在編程時(shí),我們總會不自覺地去考慮怎么來完成某一需求,分析出具體的步驟,然后按照步驟來一步步實(shí)現(xiàn)。但是在現(xiàn)實(shí)生活當(dāng)中,并不是每一件事都可以自己獨(dú)立來完成,需要合作才可以完成某一項(xiàng)復(fù)雜的工作。這樣來看的話,面向?qū)ο笏枷胨坪醺先藗兊淖鍪路绞?,也更生活化?/p>

參考文獻(xiàn)

[1] 李廣松.完全面向?qū)ο箜?xiàng)目式《C++程序設(shè)計(jì)》課程改革與創(chuàng)新[J].電腦知識與技術(shù),2014,10(12):2781-2784.

[2] 劉雍.從面向過程到面向?qū)ο笏悸忿D(zhuǎn)換[J].硅谷,2008(10):45.

[3] 卜麗娜.大型建筑用能管理監(jiān)測系統(tǒng)應(yīng)用研究[D].湖南大學(xué),2013.

猜你喜歡
面向?qū)ο?/a>程序設(shè)計(jì)
面向?qū)ο髷?shù)據(jù)庫教學(xué)方法的探討
基于OBE的Java程序設(shè)計(jì)個(gè)性化教學(xué)研究
基于Electron.js的風(fēng)向玫瑰圖繪制程序設(shè)計(jì)與實(shí)現(xiàn)
項(xiàng)目化教學(xué)在Python程序設(shè)計(jì)課程中的應(yīng)用
C++程序設(shè)計(jì)課程教學(xué)改革研究
醫(yī)學(xué)專業(yè)“Python程序設(shè)計(jì)”課程教學(xué)改革總結(jié)與思考
“C語言程序設(shè)計(jì)”課程混合教學(xué)探索
面向?qū)ο蟮挠?jì)算機(jī)導(dǎo)論課程教學(xué)
基于Web的科研項(xiàng)目管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
應(yīng)力波反射法測錨索長度的數(shù)據(jù)處理軟件設(shè)計(jì)與實(shí)現(xiàn)
崇明县| 锡林郭勒盟| 彰化县| 舟山市| 土默特左旗| 涪陵区| 揭东县| 乌拉特中旗| 阿尔山市| 乌海市| 于田县| 托里县| 资兴市| 江阴市| 靖西县| 虎林市| 高青县| 万州区| 小金县| 太谷县| 鄂托克旗| 宿迁市| 常山县| 平和县| 安陆市| 武义县| 遵化市| 米林县| 华亭县| 麻栗坡县| 会泽县| 新宁县| 东台市| 灵石县| 尼勒克县| 冕宁县| 通辽市| 广水市| 广河县| 内丘县| 长治市|