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

面向對象程序設計研究

2009-04-29 00:00:00趙運紅
考試周刊 2009年18期

摘 要: 本文從程序設計語言的發展,面向過程的程序設計和面向對象的程序設計對比,以及面向對象的程序設計的思想和特征等方面,對面向對象的技術作了闡述,總結了面向對象程序設計的優越性。

關鍵詞: 面向對象程序設計 程序設計語言 面向對象技術

1.引言

面向對象程序設計技術將對象作為程序的基本結構單元,對象將數據及對該數據的操作封裝在一起成為一個相對獨立的實體,以簡單的接口對外提供服務。面向對象程序設計語言通過提供繼承與派生、多態性、模板等概念和語法,使開發者能最大限度地利用已有的程序代碼,大大提高程序開發的效率。

2.程序設計語言

程序設計語言是一組用來定義計算機程序的語法規則。它是一種被標準化的交流技巧,用來向計算機發出指令。計算機語言讓程序員能夠準確地定義計算機所需要使用的數據,并精確地定義在不同情況下所應當采取的行動。程序設計語言原本是被設計成專門使用在計算機上的,但它們也可以用來定義算法或者數據結構。正是因為如此,程序員才會試圖使程序代碼更容易閱讀。設計語言往往使程序員能夠比使用機器語言更準確地表達他們所想表達的目的。對那些從事計算機科學的人來說,懂得程序設計語言是十分重要的,因為在當今所有的計算都需要程序設計語言才能完成。在過去的幾十年間,大量的程序設計語言被發明、被取代、被修改或組合在一起。高級程序設計語言(也稱高級語言)的出現使得計算機程序設計語言不再過度地倚賴某種特定的機器或環境。這是因為高級語言在不同的平臺上會被編譯成不同的機器語言,而不是直接被機器執行。最早出現的編程語言之一FORTRAN的一個主要目標,就是實現平臺獨立。隨著C、PASCAL、FORTRAN等結構化高級語言的誕生,程序員可以離開機器層次,在更抽象的層次上表達意圖。由此誕生的三種重要控制結構,以及一些基本數據類型都能夠很好地開始讓程序員以接近問題本質的方式去思考和描敘問題。隨著程序規模的不斷擴大,在上世紀60年代末期出現了軟件危機,在當時的程序設計范型中都無法克服錯誤隨著代碼的擴大而級數般地擴大,以至無法控制,這個時候就出現了一種新的思考程序設計方式和程序設計范型——面向對象程序設計,由此也誕生了一批支持此技術的程序設計語言,比如EIFFEL、C++、JAVA,這些語言都以新的觀點去看待問題,即問題就是由各種不同屬性的對象,以及對象之間的消息傳遞構成。面向對象語言由此必須支持新的程序設計技術,比如:數據隱藏、數據抽象、用戶定義類型、繼承、多態等。

3過程式設計與面向對象設計

面向對象技術最初是從面向對象的程序設計開始的,它的出現以60年代的Simula語言為標志。

3.1過程式設計

總的來說,過程式的程序設計是一種自上而下的設計方法,設計者用一個main函數概括出整個應用程序需要做的事,而main函數由對一系列子函數的調用組成。對于main中的每一個子函數,都又可以再被精煉成更小的函數。重復這個過程,就可以完成一個過程式的設計。其特征是以函數為中心,用函數來作為劃分程序的基本單位,數據在過程式設計中往往處于從屬的位置。過程式設計的優點是易于理解和掌握,這種逐步細化問題的設計方法和大多數人的思維方式比較接近。然而,過程式設計對于比較復雜的問題,或是在開發中需求變化比較多的時候,往往顯得力不從心。這是因為過程式的設計是自上而下的,這要求設計者在一開始就要對需要解決的問題有一定的了解。在問題比較復雜的時候,要做到這一點會比較困難,而當開發中需求變化的時候,以前對問題的理解也許會變得不再適用。事實上,開發一個系統的過程往往也是一個對系統不斷了解和學習的過程,而過程式的設計方法忽略了這一點。

3.2面向對象設計

面向對象是一種自下而上的程序設計方法。不像過程式設計那樣一開始就要用main概括出整個程序,面向對象設計往往從問題的一部分著手,一點一點地構建出整個程序。面向對象設計以數據為中心,類作為表現數據的工具,是劃分程序的基本單位。而函數在面向對象設計中成為了類的接口。面向對象設計自下而上的特性,允許開發者從問題的局部開始,在開發過程中逐步加深對系統的理解。這些新的理解,以及開發中遇到的需求變化,都會再作用到系統開發本身,形成一種螺旋式的開發方式。在這種開發方式中,對于已有的代碼,常需要做代碼重構以體現系統的變化。和函數相比,數據應該是程序中更穩定的部分。不過在這里,只有從抽象的角度來看,數據才是穩定的,如果考慮這些數據對象的具體實現,它們甚至比函數還要不穩定,因為在一個數據對象中增減字段在程序開發中是常事。因此,在以數據為中心構建程序的同時,我們需要一種手段來抽象地描述數據,這種手段就是使用函數。在面向對象設計中,類封裝了數據,而類的成員函數作為其對外的接口,抽象地描述了類。用類將數據和操作這些數據的函數放在一起,這可以說就是面向對象設計方法的本質。

4.面向對象程序設計

面向對象程序設計(Object Oriented Programming,OOP)的許多原始思想都來自Simula語言,并在Smalltalk語言的完善和標準化過程中得到更多的擴展和對以前的思想的重新注解??梢哉fOOP思想和OOP幾乎是同步發展相互促進的。與函數式程序設計(functional-programming)和邏輯式程序設計(logic-programming)所代表的接近于機器的實際計算模型所不同的是,OOP幾乎沒有引入精確的數學描敘,而是傾向于建立一個對象模型,它能夠近似地反映應用領域內的實體之間的關系,其本質是更接近于一種人類認知事物所采用的哲學觀的計算模型。由此,導致了一個自然的話題,那就是OOP到底是什么?在OOP中,對象作為計算主體,擁有自己的名稱、狀態,以及接受外界消息的接口。在對象模型中,產生新對象,銷毀舊對象,發送消息,響應消息就構成OOP計算模型的根本。

OOP主要有以下的概念和組件:

組件——數據和功能一起在運行著的計算機程序中形成的單元,組件在OOP計算機程序中是模塊和結構化的基礎。

抽象性——程序有能力忽略正在處理中信息的某些方面,即對信息主要方面關注的能力。

封裝——也叫做信息封裝:確保組件不會以不可預期的方式改變其它組件的內部狀態;只有在那些提供了內部狀態改變方法的組件中,才可以訪問其內部狀態。每類組件都提供了一個與其它組件聯系的接口,并規定了其它組件進行調用的方法。

多態性——組件的引用和類集會涉及其它許多不同類型的組件,而且引用組件所產生的結果得依據實際調用的類型。

繼承性——允許在現存的組件基礎上創建子類組件,這統一并增強了多態性和封裝性。典型地來說就是用類來對組件進行分組,而且可以定義新類為現存的類的擴展,這樣就可以將類組織成樹形或網狀結構,這體現了動作的通用性。

我們可以看到面向對象程序設計的核心思想是:抽象數據類型、繼承和多態。這也是它的好處和優點。其核心就是用類來表示各種概念,在這種思想的影響下,誕生了一批面向對象程序語言,通過各種語言和程序設計范型的演化,我們可以清晰看到面向對象程序設計技術的各種優勢,以及這種優勢產生的根本原因——克服過程式編程里面數據與算法完全分離的弊端,并在此基礎上演化出了多種新的組織程序和表達概念的方法。

參考文獻:

[1]吳其慶.J2EE程序設計實例教程.北京:冶金工業出版社,2006.

[2]Stroustrup.C++程序設計語言.機械出版社.

[3]Lippman.C++PRIMER中文版.中國電力出版社.

[4]Bertrand.Meyer.Object-Oriented Software Constructure.機械工業出版社.

(作者系武漢理工大學計算機學院在讀碩士)

主站蜘蛛池模板: 99一级毛片| 国产主播在线观看| 九月婷婷亚洲综合在线| 91亚瑟视频| 亚洲bt欧美bt精品| 国产理论最新国产精品视频| 免费网站成人亚洲| 欧美www在线观看| 国产一级在线观看www色 | 天天做天天爱天天爽综合区| 亚洲AⅤ永久无码精品毛片| 国产经典免费播放视频| 精品伊人久久久大香线蕉欧美| 亚洲中文字幕国产av| 99视频在线免费观看| 四虎国产成人免费观看| 67194在线午夜亚洲| 久久视精品| 国产亚洲视频中文字幕视频| 国产精品流白浆在线观看| 青青草原国产免费av观看| 久久性视频| 国产欧美高清| 亚洲男人在线| 重口调教一区二区视频| 福利在线免费视频| 久久久精品国产SM调教网站| 亚洲人成人伊人成综合网无码| 青青草久久伊人| 亚洲天堂视频在线观看免费| 少妇人妻无码首页| 亚洲一区第一页| 亚洲第一色网站| 亚洲午夜片| 欧美亚洲第一页| 亚洲无线观看| 91福利片| 这里只有精品在线播放| 亚洲人网站| 欧美激情视频二区| 久青草免费视频| 成人a免费α片在线视频网站| 天堂网亚洲系列亚洲系列| 四虎在线高清无码| 国产美女叼嘿视频免费看| 内射人妻无码色AV天堂| 国产精品成人啪精品视频| 亚洲欧美综合在线观看| 亚洲第一黄片大全| 男女男精品视频| 免费无码AV片在线观看中文| 亚洲一区无码在线| 精品人妻一区二区三区蜜桃AⅤ| 91年精品国产福利线观看久久 | 亚洲日韩久久综合中文字幕| A级全黄试看30分钟小视频| 欧美精品xx| 国产成人亚洲毛片| 国产视频a| 国产91蝌蚪窝| 国产人妖视频一区在线观看| 精品欧美日韩国产日漫一区不卡| 东京热av无码电影一区二区| 在线观看国产网址你懂的| 毛片久久久| 九色在线视频导航91| 五月综合色婷婷| 久久综合一个色综合网| 国产精品9| 亚洲欧美h| 日本午夜在线视频| 国产伦精品一区二区三区视频优播| 熟妇无码人妻| 中文字幕 91| 香蕉久久国产超碰青草| 精品一区二区三区无码视频无码| 久久综合五月婷婷| 日韩美毛片| 国产导航在线| 成人亚洲视频| 欧美天堂久久| 国产亚洲美日韩AV中文字幕无码成人|