999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談面向對象和面向過程程序設計

2017-04-14 09:16:03河北農業大學渤海校區理工學院石博文
電子世界 2017年1期
關鍵詞:程序設計

河北農業大學渤海校區理工學院 石博文

淺談面向對象和面向過程程序設計

河北農業大學渤海校區理工學院 石博文

主要論述了面向過程程序設計的結構化思想和面向對象程序設計的抽象、封裝、繼承、多態技術,并詳細介紹了兩種思維方式的特點、優缺點以及相互聯系。

程序設計;面向對象;面向過程;模塊;封裝;繼承;多態

1 引言

程序設計是給出解決特定問題程序的過程。程序設計的本質是把人們在現實生活中遇到的問題經過抽象處理,再利用計算機語言轉換到機器能夠理解的層面上去。如今,在程序設計中,有兩個非常成熟的設計方式:面向過程的程序設計和面向對象的程序設計。

2 面向過程的程序設計

2.1 設計思想

面向過程就是分析出解決問題所需要的步驟,然后用函數把這些步驟一步一步實現,使用的時候再一個一個調用。結構化程序設計是其核心思想。

2.2 設計特點

(1)模塊化

模塊化即功能分解,實質是采用自頂向下、逐步求精的設計過程把程序分解成單一處理功能的模塊,進而通過調用相應模塊并傳遞參數以實現程序的功能,此功能模塊可以理解為函數、過程、子程序;每一模塊內部均是由順序、選擇、循環三種基本結構組成,利用這三種結構的組合、嵌套,可以實現任何復雜的程序設計。功能分解使得系統是模塊的組件即:程序=(模塊+模塊+模塊+…)、模塊=(數據結構+算法)[1]。

模塊設計應堅持“高內聚,低耦合”的設計原則。其中“高內聚”是指每一個模塊都執行一個完整的功能,具有一個完整功能的業務都組合在一個模塊當中,而不會分散到兩個或者多個模塊當中;“低耦合”是指每一個模塊之間的共用信息應該盡量少,每個模塊之間的交集應盡可能小,應該盡量降低每個模塊之間的耦合度。

(2)數據和操作分離

面向過程的程序設計把重點放在解決問題的功能模塊劃分上,將數據和操作這些數據的函數分開。數據處于次要地位,而過程即模塊劃分是關心的焦點[2]。

2.3 設計優點

早期的程序設計屬于面向計算機的程序設計,程序員需要考慮大量的機器細節。面向過程的程序設計優點是相對前期程序設計而論的。

(1)模塊化思想將一個較復雜的問題分解為若干個子問題,各子問題分別由不同的人員解決,提高了開發效率,便于程序的調試;

(2)面向過程的設計按解決問題的過程劃分模塊,直接針對求解關系,集中處理數據,運行效率很高[3];

(3)自頂向下逐步求精的方法使程序具有清晰的層次結構,容易閱讀和理解,也較容易保證程序的正確性。

2.4 設計缺陷

(1)軟件模塊重用難。當開發一個新的軟件系統時,以前開發的軟件模塊很難直接使用;

(2)軟件系統功能擴展難。一旦用戶的需求發生變化,要改進系統或升級版本時,程序員要面對調用關系復雜的許多函數模塊,系統的功能擴展很困難;

(3)軟件維護難。軟件的模塊即函數越來越多,模塊間的調用關系越來越復雜,程序容易出錯,而且一旦出錯很難查找[4]。

3 面向對象的程序設計

3.1 設計思想

面向對象就是把構成問題的事務分解成各個對象,建立對象的目的不是為了完成一個步驟,而是為了描述某個事物在整個解決問題步驟中的行為。

3.2 設計特點

(1)抽象、類、對象

抽象就是把事物共同點抽取出來,以統一的方式進行概要描述的一種過程。面向對象中,類是對現實世界事物的抽象,包括屬性和方法。其中屬性是對事物靜態特征的描述,方法是對事物動態特性即行為的描述[5]。一旦建立了類,就可以基于類初始化成員變量,實例化出一個對象,而程序就是由這一系列對象組成即:程序=(對象+對象+對象+…)、對象=(數據結構+算法)。

(2)封裝

封裝又稱數據隱藏,就是將一個事物的屬性和方法放在一個類中,對外只提供訪問該數據的方法,程序的其它部分不能直接作用于此數據。這一特性大大降低了面向過程中模塊間的耦合性,從而提高了程序的可靠性,盡可能地排除了對數據進行任意訪問造成的隱患[6]。

(3)繼承

類的繼承實質上是先定義一個基類(父類),然后用該基類派生出其它的子類,子類在沿襲父類的屬性和方法的同時可以添加自己特有的屬性和方法。繼承性使得程序得以最大限度地實現代碼重用,同時在父類上所做的改動可以直接反映到它的所有子類中,軟件可維護性大為提高。

(4)多態

多態是指在一般類中定義的屬性或方法被特殊類繼承以后,通過重寫,可以具有不同的數據類型或表現出不同的行為。多態性使得程序員可以將所定義的方法應用于多個類,同一個屬性和方法在一般類及各個特殊類中具有不同的語義,并使得程序更加容易擴展[7]。

3.3 設計優點

面向對象程序設計的優越性是基于它的特點而論的。對客觀現實世界事物的抽象,使軟件開發可以按照人類習慣的思維方式建立起問題領域的模型從而模擬客觀世界,有利于大型軟件的開發;事物屬性和方法的封裝避免了數據的隨意訪問,保證了數據的安全性;類與類之間的繼承關系,最大程度實現了代碼的重用;繼承關系下的多態性增強了程序的靈活性和擴展性。

3.4 設計缺陷

(1)運行效率較低。類的大量加載會犧牲系統性能,降低運行速度。雖然CPU速度在提高,內存容量在增加,但這一問題仍會隨著系統規模變大而逐漸顯示出來,變得越發嚴重。

(2)類庫龐大。由于類庫都過于龐大,程序員對它們的掌握需要一段時間,從普及、推廣的角度來看,類庫應在保證其功能完備的基礎上進行相應的縮減。

(3)類庫可靠性。越龐大的系統必會存在我們無法預知的問題隱患,程序員無法完全保證類庫中的每個類在各種環境中百分之百的正確,當使用的類發生了問題,就會影響后續工作,程序員也有可能推翻原來的全部工作[8,9]。

4 結束語

面向對象重視對現實世界的抽象,面向過程重視對問題的功能模塊化,但兩種技術不是非此即彼的對立關系。面向對象的抽象、封裝、繼承、多態是建立在面向過程的順序、選擇、循環三種控制結構之上。因此,如果將一個軟件任務分為兩層,那么面向對象技術用于解決“做什么”,而面向過程技術用于解決“怎么做”。

[1]馬金霞,宋傳磊.面向過程和面向對象程序設計分析[J].中國新通信,2016(11).

[2]錢能.C++程序設計教程(第2版)[M].北京:清華大學出版社,2005(09):13-16.

[3]許偉剛,梁大周.面向對象程序設計[J].計算機工程與應用,1990(12).

[4]朱戰立,宋新愛.面向對象程序設計與C++語言[M].北京:電子工業出版社,2010(07):31-46.

[5]張海藩.軟件工程導論(第5版)[M].北京:清華大學出版社,2008(02):203-211.

[6][美]Grady Booch等.面向對象分析與設計(第3版)[M].王海鵬,潘加宇譯.北京:人民郵電出版社,2009(08):35-38.

[7][加]Scott W.Ambler.面向對象軟件開發教程(第2版)[M].車皓陽,劉銳譯.北京:機械工業出版社,2003(06):97-130.

[8]徐向陽.面向對象程序設計現狀及發展趨勢研究[J].光盤技術,2006(01).

[9]胡玲.面向對象程序設計和設計技術思考[J].電子技術與軟件工程,2016(06).

The Summary between Object-oriented Programming and Process-oriented Programming

ShiBowen
(College of Science and Engineering,Agricultural University of Hebei,Cangzhou,061000,China)

The summary is mainly about structured ideas of process-oriented programming and some important technologies in objectoriented programming like abstract,encapsulation,inheritance and polymorphism.At the same time,the article expatiates the feature,merits and drawbacks as well as the relationship between process-oriented and object-oriented programming.

programming;object-oriented;process-oriented,module;encapsulation;inheritance;polymorphism

猜你喜歡
程序設計
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 欧美激情视频二区| 99久久亚洲精品影院| 一区二区理伦视频| 亚洲男人的天堂在线| 久爱午夜精品免费视频| 免费看a级毛片| 狼友av永久网站免费观看| 日本午夜影院| 亚洲久悠悠色悠在线播放| 国产精品白浆无码流出在线看| 无码网站免费观看| 色噜噜久久| 亚洲精品国产自在现线最新| 999国产精品永久免费视频精品久久| 中文字幕资源站| 亚洲综合九九| 亚洲女同一区二区| 搞黄网站免费观看| 国产国语一级毛片在线视频| 色综合色国产热无码一| 日韩精品一区二区三区swag| 国产女人综合久久精品视| 麻豆国产精品一二三在线观看| 国产成人永久免费视频| 色爽网免费视频| 亚洲国产日韩欧美在线| 久久夜色精品国产嚕嚕亚洲av| 亚洲欧美日韩中文字幕在线| 色成人亚洲| 伊人成人在线视频| 久久久黄色片| 最新精品久久精品| 亚洲av日韩av制服丝袜| 国产成人精品视频一区二区电影| 一区二区三区四区在线| 亚洲精品麻豆| 免费毛片全部不收费的| 国产白浆视频| 中文字幕永久在线看| 精品国产一区二区三区在线观看 | a级毛片毛片免费观看久潮| 日韩欧美网址| 日本午夜在线视频| 天天躁日日躁狠狠躁中文字幕| jizz国产在线| 亚洲国产精品日韩av专区| 亚洲全网成人资源在线观看| av尤物免费在线观看| 国产黄色片在线看| 国产色婷婷视频在线观看| 97国产精品视频人人做人人爱| 色悠久久综合| 成年人福利视频| 日日拍夜夜嗷嗷叫国产| 国产第二十一页| 免费观看三级毛片| 久久亚洲日本不卡一区二区| 麻豆国产精品| 欧美精品成人一区二区视频一| AV网站中文| 色一情一乱一伦一区二区三区小说| 日韩欧美高清视频| 国产美女在线免费观看| 欧美成人综合在线| 日本爱爱精品一区二区| 欧美日韩在线成人| 一区二区三区精品视频在线观看| 亚洲日本韩在线观看| 国产大全韩国亚洲一区二区三区| 国产一级视频久久| 欧美午夜一区| 一级全免费视频播放| 欧美国产日韩在线观看| 国产av色站网站| 玩两个丰满老熟女久久网| 久久无码av三级| 日韩精品无码免费一区二区三区| 国产一区二区三区在线无码| 国产麻豆va精品视频| 免费国产高清视频| 麻豆a级片| 精品国产女同疯狂摩擦2|