• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

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

      劉雅菲 宇澳 齊笑甜

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

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

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

      “面向過程”(Procedure Oriented)是一種以過程為中心的編程思想。也可被稱為“面向記錄”編程思想[1],主要語言有Pascal、C語言等。面向?qū)ο螅∣bject Oriented)是一種以事物為中心的編程思想。采用對(duì)象、類以及一些相關(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ū)ο蟮暮诵臑閷?duì)象,對(duì)象是人們要研究的各種事物,它可以是日常生活中具體的事物,還能是一些抽象的規(guī)則、計(jì)劃等。對(duì)象的抽象化為類。簡(jiǎn)單來講,類=數(shù)據(jù)+操作。其中,數(shù)據(jù)用來描述對(duì)象的性質(zhì)和狀態(tài);操作是指對(duì)象的行為,而具有相同和相似性質(zhì)的一組對(duì)象則稱為“類”。將繁瑣的步驟進(jìn)行行為、功能,模塊化,就是面向?qū)ο?,其核心為事物整體,是把構(gòu)成問題的事物分解成各個(gè)對(duì)象,建立對(duì)象的目的不是為了完成某一個(gè)步驟,而是為了描述某個(gè)事物在整個(gè)解決問題的步驟中的行為。

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

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

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

      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);//手動(dòng)輸入長和寬

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

      return0;}

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

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

      而類作為對(duì)象的抽象化,就要先分離出“長方形”這個(gè)對(duì)象的屬性,具有長和寬,因此我們就書寫相應(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ū)ο螅绦虻木帉懓l(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í),我們總會(huì)不自覺地去考慮怎么來完成某一需求,分析出具體的步驟,然后按照步驟來一步步實(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í)與技術(shù),2014,10(12):2781-2784.

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

      [3] 卜麗娜.大型建筑用能管理監(jiān)測(cè)系統(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)力波反射法測(cè)錨索長度的數(shù)據(jù)處理軟件設(shè)計(jì)與實(shí)現(xiàn)
      化隆| 黄石市| 松滋市| 永吉县| 灵山县| 土默特右旗| 锡林浩特市| 河津市| 佳木斯市| 长治市| 岑溪市| 扎赉特旗| 兴义市| 巢湖市| 吉木萨尔县| 始兴县| 邯郸县| 佛冈县| 澄迈县| 大连市| 渭源县| 霞浦县| 五台县| 东乌| 达日县| 普兰县| 阆中市| 北流市| 齐齐哈尔市| 河西区| 巴彦淖尔市| 滕州市| 江川县| 织金县| 葫芦岛市| 山阴县| 界首市| 黔江区| 卓资县| 祁阳县| 哈巴河县|