• 
    

    
    

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

      ?

      對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)的思考

      2019-11-23 05:49毛紅粉陳蘭蘭郝珂麗孫新杰
      科技風(fēng) 2019年29期
      關(guān)鍵詞:面向?qū)ο?/a>計(jì)算機(jī)軟件

      毛紅粉 陳蘭蘭 郝珂麗 孫新杰

      摘 要:隨著近些年來(lái)計(jì)算機(jī)軟件開(kāi)發(fā)的大眾化,面向?qū)ο蟮乃枷氤蔀榱艘粋€(gè)迅速發(fā)展起來(lái)并逐漸被更多人所需要的思想研究領(lǐng)域。面向?qū)ο蟮乃枷雽?duì)于我們計(jì)算機(jī)系的學(xué)生來(lái)說(shuō),是我們必須要掌握的一項(xiàng)基本的學(xué)科技能。在一個(gè)學(xué)期的面向?qū)ο缶幊虒W(xué)習(xí)過(guò)程中,綜合了面向?qū)ο蟮娜齻€(gè)特點(diǎn),探討了如何準(zhǔn)確掌握面向?qū)ο笏枷搿?/p>

      關(guān)鍵詞:計(jì)算機(jī)軟件;思想研究;面向?qū)ο?/p>

      1 面向?qū)ο蟮奶匦?/p>

      1.1 繼承性

      設(shè)計(jì)語(yǔ)言中的繼承主要指鏈接類(lèi)的層次模型,它允許并鼓勵(lì)類(lèi)的重用。[1]一個(gè)基類(lèi)A(也稱(chēng)作父類(lèi))它派生出了B類(lèi)(子類(lèi)),對(duì)于基類(lèi)A來(lái)說(shuō),它有可供子類(lèi)繼承的部分,也有屬于自己的不能被子類(lèi)所繼承的部分。這就類(lèi)似于遺傳方面,例如一個(gè)孩子和她父母都是大眼睛雙眼皮,這就是說(shuō)這個(gè)孩子繼承了他父母的可供子類(lèi)繼承的部分;而例如當(dāng)馬和驢雜交產(chǎn)生騾子時(shí),馬和驢都是可育的,但是騾子卻不具備這種能力,這就是說(shuō)父類(lèi)有屬于自己的不能被子類(lèi)進(jìn)行繼承的部分。繼承可以從兩個(gè)大方面進(jìn)行探討,一種是單繼承,一種是多繼承。如下圖所示,就很好的解釋了繼承關(guān)系。

      在上圖中,生物均具有會(huì)呼吸的特性,水生生物和陸生生物均繼承了生物會(huì)呼吸的特性,這屬于單繼承;與此同時(shí)水生生物又具有會(huì)游泳的特性,魚(yú)是水生生物,它繼承了水生生物的特性,同時(shí)它還擁有生物的特性,會(huì)游泳會(huì)呼吸,這屬于多繼承;鯨魚(yú)和鯉魚(yú)均屬于魚(yú)類(lèi),繼承他們父類(lèi)魚(yú)的特性,但是鯨魚(yú)用肺呼吸,鯉魚(yú)用鰓呼吸;馬和驢雜交產(chǎn)生騾子時(shí),馬和驢都是可育的,但是騾子卻不具備這種能力;青蛙屬于水陸兩棲動(dòng)物,繼承自水生生物和陸生生物。

      總而言之,繼承是傳遞的,子類(lèi)繼承自父類(lèi),我們稱(chēng)之為間接繼承。

      1.2 封裝性

      封裝是很容易理解的,它類(lèi)似于我們現(xiàn)實(shí)生活中的打包,將每個(gè)成員所共有的封裝起來(lái)然后定義其中一個(gè)成員的時(shí)候,在調(diào)出我們已經(jīng)封裝了的數(shù)據(jù),對(duì)它進(jìn)行重定義。一個(gè)類(lèi)它可以分為三種屬性:公有屬性,私有屬性,保護(hù)屬性,即有三種成員函數(shù):公有,私有和保護(hù)。舉個(gè)例子,一個(gè)班級(jí)里有50個(gè)學(xué)生,在這個(gè)學(xué)生類(lèi)中,我們可以把學(xué)生學(xué)號(hào),姓名定義為學(xué)生類(lèi)的私有成員,它不可被子類(lèi)進(jìn)行訪(fǎng)問(wèn);對(duì)于年齡來(lái)說(shuō),作為每個(gè)成員所共有的,我們就可以將它單獨(dú)封裝起來(lái),在結(jié)合每個(gè)成員不同的需求對(duì)他進(jìn)行重定義。這種可以用友元函數(shù)來(lái)實(shí)現(xiàn),以下面程序?yàn)槔?/p>

      #include

      using namespace std;

      class beta;

      class alpha

      {

      private:

      int data;

      public:

      alpha():data(5){ }

      friend int frifunc(alpha,beta);

      };

      class beta

      {

      private:

      int data;

      public:

      beta():data(7){ }

      friend int frifunc(alpha,beta);

      };

      int frifunc(alpha a,beta b)

      { ?return(a.data + b.data); }

      int main()

      {

      alpha aa;

      beta bb;

      cout << frifunc(aa,bb)<< endl;

      return 0;

      }

      運(yùn)行結(jié)果為:12

      在上述程序中,定義了兩個(gè)類(lèi)一個(gè)為beta類(lèi),一個(gè)為alpha;在alpha中定義了其私有成員整型的data,及其公有構(gòu)造函數(shù)和一個(gè)友元函數(shù)frifunc,并給構(gòu)造函數(shù)賦初值為5;在beta中也定義了其私有成員整型的data,及其公有構(gòu)造函數(shù)和一個(gè)友元函數(shù)frifunc,并給構(gòu)造函數(shù)賦初值為7;接著對(duì)于友元函數(shù)重定義,讓它返回a.data與b.data之和,并將這個(gè)結(jié)果在主函數(shù)中輸出。一個(gè)類(lèi)的友元可以存取該類(lèi)的私有成員,節(jié)省了成員函數(shù)調(diào)用的開(kāi)銷(xiāo),[2]封裝可以使得編程更加簡(jiǎn)便,其在面向?qū)ο缶幊讨杏胁豢苫蛉钡淖饔谩?/p>

      1.3 多態(tài)性

      多態(tài)在面相對(duì)象中指的是在同一個(gè)方法中,一段程序能夠被多種類(lèi)型對(duì)象使用,從而產(chǎn)生不同的結(jié)果。使用多態(tài),不僅可以解決方法同名的問(wèn)題,還可以使程序變得更加靈活,從而使程序的可擴(kuò)展性和維護(hù)性得到了有效地提高。

      2 基于面向?qū)ο蟮陌l(fā)展趨勢(shì)

      面向?qū)ο笫菑?0世紀(jì)90年代發(fā)展起來(lái)的,而且很快的應(yīng)用在各個(gè)層面,目前它的發(fā)展日趨成熟,而且面向?qū)ο蟮男阅芎蛢?yōu)勢(shì)也更有利于人們接受。面向?qū)ο髴?yīng)用在軟件方面,使得軟件的功能、靈活性、透明性日益增強(qiáng)。

      2.1 人工智能語(yǔ)言

      面向?qū)ο蟮募夹g(shù)目前已經(jīng)廣泛應(yīng)用于人工智能語(yǔ)言方面,在人工智能語(yǔ)言方面面向?qū)ο蟮募夹g(shù)和分析方法的優(yōu)勢(shì)更容易的展現(xiàn)在人工智能應(yīng)用的各個(gè)層次。在將來(lái),面向?qū)ο髮?huì)更加會(huì)應(yīng)用在各個(gè)系統(tǒng)。

      2.2 數(shù)據(jù)庫(kù)

      面向?qū)ο蠹夹g(shù)在數(shù)據(jù)庫(kù)的應(yīng)用使得數(shù)據(jù)庫(kù)的共享更加便利。雖然面向?qū)ο笤跀?shù)據(jù)庫(kù)方面使得數(shù)據(jù)庫(kù)的結(jié)構(gòu)更加復(fù)雜,但是他的理解更加便于人們接受,而且面向?qū)ο笫沟脭?shù)據(jù)庫(kù)有了許多特點(diǎn),例如代碼共享、模塊性、更加易于設(shè)計(jì)等諸多方面的特征,更加使面向?qū)ο笤跀?shù)據(jù)庫(kù)的應(yīng)用日益成熟。

      2.3 并行處理

      什么是并行處理呢,簡(jiǎn)單來(lái)說(shuō)并行處理其實(shí)也是并發(fā)處理的具體化。并行處理和并發(fā)處理他們都是計(jì)算機(jī)領(lǐng)域的處理方式,并行處理使用面向?qū)ο笾械南⒑筒⑿刑幚碜约合⑵鋵?shí)是有點(diǎn)不同的,但是并行處理應(yīng)用到對(duì)象的消息其實(shí)使得并行處理在計(jì)算機(jī)內(nèi)部更加快捷。應(yīng)用面向?qū)ο蟮牟⑿刑幚矸绞綍?huì)在今后的發(fā)展更加成熟。

      2.4 軟件工程

      目前有許多軟件工程的開(kāi)發(fā)都應(yīng)用了對(duì)象,而使用對(duì)象讓軟件的發(fā)展更進(jìn)一步,雖然目前有許多語(yǔ)言都應(yīng)用了對(duì)象,例如C++等,但是對(duì)象的應(yīng)用使得人們對(duì)其他語(yǔ)言進(jìn)行重新開(kāi)發(fā),例如Cabol、Basic等語(yǔ)言。面向?qū)ο蟮膽?yīng)用讓軟件工程的開(kāi)發(fā)更上一層樓。

      3 大學(xué)生如何準(zhǔn)確掌握面向?qū)ο蟮乃枷?/p>

      對(duì)于我們計(jì)算機(jī)系的學(xué)生來(lái)說(shuō),面向?qū)ο蟮乃枷胧俏覀儗W(xué)科學(xué)習(xí)中需要學(xué)生們掌握的一項(xiàng)基本的思想。準(zhǔn)確掌握面向?qū)ο蟮乃枷?,有助于我們編程能力的提高。?duì)于學(xué)生來(lái)說(shuō),無(wú)論學(xué)習(xí)那一方面的知識(shí)都離不開(kāi)上課認(rèn)真聽(tīng),下課多練習(xí)。關(guān)于大學(xué)生如何準(zhǔn)確掌握面向?qū)ο蟮乃枷胛覀兎至巳齻€(gè)方面來(lái)討論:

      3.1 課前預(yù)習(xí)

      基于C++的面向?qū)ο蟪绦蛟O(shè)計(jì)是從C語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的,其本質(zhì)與C語(yǔ)言還是有很多的相似之處,在有了C語(yǔ)言程序設(shè)計(jì)的基礎(chǔ)之下,理解C++不算太困難;但是C++程序設(shè)計(jì)又不像JAVA程序設(shè)計(jì)一樣是一個(gè)單純的面向?qū)ο蟮膶W(xué)科,所以在進(jìn)行C++程序設(shè)計(jì)時(shí)要求我們處理好面向過(guò)程和面向?qū)ο蟮年P(guān)系;在我們預(yù)習(xí)的時(shí)候,可以先將書(shū)本上的程序敲下來(lái),這樣面向?qū)ο蟮乃枷刖蜁?huì)在我們的腦海里形成一個(gè)初步的認(rèn)識(shí)。

      3.2 課上練習(xí)

      在課堂上,我們應(yīng)該從學(xué)習(xí)算法開(kāi)始,盡可能早些掌握面向?qū)ο蟮母拍?,把學(xué)與用結(jié)合起來(lái),學(xué)生能立即體會(huì)到類(lèi)概念對(duì)可視化編程和軟件的再利用的重要性。在課前預(yù)習(xí)時(shí),我們會(huì)遇到各種問(wèn)題,而且也只是對(duì)面向?qū)ο蟪绦蛘Z(yǔ)言設(shè)計(jì)有一個(gè)初步的了解,但并深刻,所以這個(gè)時(shí)候,在課堂上,盡可能地通過(guò)老師的講解來(lái)理解課前遇到的各種專(zhuān)業(yè)問(wèn)題,并進(jìn)一步的對(duì)面向?qū)ο蟮念?lèi)、構(gòu)造函數(shù)等各個(gè)知識(shí)點(diǎn)進(jìn)行深刻理解。認(rèn)真聽(tīng)課,解決課前預(yù)習(xí)的問(wèn)題,在老師講課的同時(shí),要了解面向?qū)ο蟮腸++課程,教師的代碼要理解每個(gè)代碼的含義,也可以寫(xiě)出程序的知識(shí)。

      3.3 課后復(fù)習(xí)

      當(dāng)我們接觸一個(gè)新的事物的時(shí)候,不可能一下子全部掌握,所以需要在課后勤加練習(xí),爭(zhēng)取達(dá)到學(xué)以致用的目的。我們學(xué)習(xí)面向?qū)ο蟮乃枷?,是為我們編程能力的提高打基礎(chǔ)的。這就要求我們需要深入的了解面向?qū)ο蟮乃枷?,而這的關(guān)鍵就是我們能否從客觀的事物中抽象出類(lèi)來(lái)。只有從客觀事物中抽象出合理的、實(shí)用的類(lèi)來(lái),才有可能實(shí)現(xiàn)面向?qū)ο蟮某绦蛟O(shè)計(jì)。在課后,我們要講課堂上老師講的知識(shí)點(diǎn)并重新消化,如果不進(jìn)行,我們所學(xué)到的將只會(huì)是一些比較容易理解的,而那些難的知識(shí)點(diǎn)我們是不會(huì)理解的,所以在課下要復(fù)習(xí)課堂上的,同時(shí)也要對(duì)書(shū)上的代碼多編寫(xiě)幾遍,以便于我們掌握的更加透徹。

      4 結(jié)語(yǔ)

      在面向?qū)ο蟮膶W(xué)習(xí)過(guò)程中,我們對(duì)于面向?qū)ο蟮母拍睢⑻匦?、發(fā)展趨勢(shì)以及目前應(yīng)用方面有了更多的熟知。而面向?qū)ο蟮乃枷雽?duì)于我們計(jì)算機(jī)系的學(xué)生來(lái)說(shuō),是我們必須要掌握的一項(xiàng)基本的學(xué)科技能。繼承性、多態(tài)性和封裝性讓面向?qū)ο笤谟?jì)算機(jī)等各個(gè)領(lǐng)域應(yīng)用更多,在計(jì)算機(jī)領(lǐng)域,不單單只有面向?qū)ο笠环N程序設(shè)計(jì),還有面向過(guò)程等方法的程序設(shè)計(jì),多方法的程序設(shè)計(jì)讓計(jì)算機(jī)、人工智能等領(lǐng)域的發(fā)展更快。不同方法的程序設(shè)計(jì)才能早就計(jì)算機(jī)、人工智能等領(lǐng)域的發(fā)展。

      參考文獻(xiàn):

      [1]米文麗.探究C++面向?qū)ο蟪绦蛟O(shè)計(jì)的幾點(diǎn)思考[J].福建電腦,2016,32(03):149+127.

      [2]張學(xué)文,章長(zhǎng)釤,劉宇.C++語(yǔ)言的封裝性[J].微計(jì)算機(jī)信息,1998(04):67-69.

      基金:六盤(pán)水師范學(xué)院大學(xué)生科研項(xiàng)目(LPSSYDXS18018)

      猜你喜歡
      面向?qū)ο?/a>計(jì)算機(jī)軟件
      面向?qū)ο髷?shù)據(jù)庫(kù)教學(xué)方法的探討
      新時(shí)期計(jì)算機(jī)軟件開(kāi)發(fā)技術(shù)的應(yīng)用及發(fā)展趨勢(shì)
      芻議計(jì)算機(jī)軟件中的安全漏洞檢測(cè)技術(shù)
      計(jì)算機(jī)軟件技術(shù)的不可靠性探析
      計(jì)算機(jī)軟件模擬技術(shù)在實(shí)際應(yīng)用中的問(wèn)題研究
      計(jì)算機(jī)軟件應(yīng)用及其發(fā)展趨勢(shì)研究
      面向?qū)ο蟮挠?jì)算機(jī)導(dǎo)論課程教學(xué)
      基于Web的科研項(xiàng)目管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      應(yīng)力波反射法測(cè)錨索長(zhǎng)度的數(shù)據(jù)處理軟件設(shè)計(jì)與實(shí)現(xiàn)
      計(jì)算機(jī)軟件安全檢測(cè)技術(shù)
      休宁县| 论坛| 芜湖县| 广宗县| 崇仁县| 普格县| 滦南县| 栾城县| 新沂市| 昆山市| 漳浦县| 托克托县| 汝城县| 六安市| 应用必备| 蕉岭县| 郸城县| 台东县| 河津市| 运城市| 封开县| 鱼台县| 六盘水市| 民丰县| 石泉县| 林芝县| 汝南县| 临潭县| 兴业县| 无为县| 平顶山市| 阿拉善盟| 漯河市| 白水县| 义乌市| 龙门县| 五莲县| 河池市| 洛南县| 永嘉县| 锡林浩特市|