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語言的完善和標準化過程中得到更多的擴展和對以前的思想的重新注解。可以說OOP思想和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极品美女高潮叫床在线观看| 青青青视频91在线 | 亚洲欧美综合在线观看| 成人久久18免费网站| 精品国产污污免费网站| 成人午夜在线播放| 欧美综合成人| 蜜桃视频一区二区三区| 五月婷婷导航| 亚洲色图在线观看| 日韩毛片视频| 无码视频国产精品一区二区| 无码av免费不卡在线观看| 久久综合伊人 六十路| 18禁色诱爆乳网站| 国产h视频免费观看| 国产精品思思热在线| 中文字幕亚洲电影| 亚洲精品天堂自在久久77| 在线免费看黄的网站| 午夜性爽视频男人的天堂| 亚洲综合婷婷激情| 99久久人妻精品免费二区| 欧美国产视频| 国产9191精品免费观看| 欧美另类图片视频无弹跳第一页| 四虎成人免费毛片| 中文字幕无码中文字幕有码在线| 不卡午夜视频| 激情無極限的亚洲一区免费| 日韩大片免费观看视频播放| 三级毛片在线播放| 亚洲AⅤ无码日韩AV无码网站| 亚洲天堂网视频| 亚洲一区二区在线无码| 日韩精品毛片人妻AV不卡| 亚洲欧美激情另类| 99热这里只有成人精品国产| 97国产成人无码精品久久久| 色成人亚洲| 欧美亚洲欧美| 午夜日b视频| 色综合五月婷婷| 亚瑟天堂久久一区二区影院| 欧美激情,国产精品| 欧美亚洲一区二区三区导航| 国产成人禁片在线观看| 美女免费黄网站| 无码视频国产精品一区二区| 伊人久热这里只有精品视频99| 色九九视频| 毛片视频网址| 国产美女精品在线| 成人在线综合| 日韩毛片在线视频| 无码丝袜人妻| 91色在线视频| 国产美女在线免费观看| 国产成人精品亚洲77美色| 色综合天天综合中文网| 国产91精品调教在线播放| 日韩精品一区二区三区swag| 国产麻豆永久视频| 国产在线观看人成激情视频| 国产成人久久综合777777麻豆 | 91无码网站| 91av国产在线| 久青草免费在线视频| 夜色爽爽影院18禁妓女影院| 亚洲中文字幕手机在线第一页|