計算機語言面向對象開發的發展探討論文
隨著科學技術的快速發展,計算機也普遍應用在人們的日常生活當中。而計算機的正常運轉需要計算語言的支撐,因此計算機技術語言也隨著計算機技術的快速發展而發展,從最初的機器語言到現在的面向對象語言,計算機語言在不斷的摸索中也日趨完善。最重要的一點是面向對象技術已經成為當今主流趨勢,無論是軟件開發,還是軟件系統、交互式APP都有面向對象語言的身影,所以面向對象技術的發展和創新對計算機技術的發展和革新有一定的影響。
1計算機語言發展的歷程
計算機語言發展的重要3個階段是機器語言、匯編語言、高級語言。機器語言是在1946年世界上第一臺計算機ENIAC誕生后,由專家發明的一種原始穿孔卡片的表現語言,這種語言也就只有專家才能理解。雖然隨著后來機器語言的簡化,勉強能讓人們所理解,但是最終進入計算機的還是這種機器語言。直到計算機語言發展到第二代:匯編語言,匯編語言是用助記符代替了操作碼,地址符代替地址碼,雖然較機器語言有了很大的進步,但是匯編語言仍是復雜、容易出錯不利于人們操作和理解。一直到第三代,計算機語言才進入了面向人類的時代,其中包括Basic語言、PASCAC等,但是計算機并不能識別高級語言編寫的源程序,源程序在進入計算機后,是通過翻譯程序翻譯成機器語言的目標程序,進而計算機才會執行。翻譯方式分為兩種,一種是編譯方式,另一種是解釋方式,編譯方式事先安排一個機器語言編譯程序,放入計算機內容系統,待源程序輸入之后,計算機便會執行這個目標程序。解釋方式是在源程序進入計算后,解釋程序邊掃描邊解釋,一句句來執行。其中BASIC語言則以執行解釋方式為主,PASCAL以編譯方式為主。
面向對象語言是成形于20世紀70年代,并且面向對象語言的發分為兩個方向:一種是純面向對象語言,如Smalltalk,另一種是混合型面向對象語言,如C++、Objective-C等。面向對象技術比較方便于軟件擴充和復用,具有封裝性、繼承性、多態性3個特點。封裝性是指將功能封裝成一個個獨立的單元,減小耦合,這種特點方便對程序的修改,間接減少維護成本。繼承性是指在基本層次關系的不同類中共享數據和操作,繼承是面向對象技術的特色。多態性是指對象具有惟一的靜態類型和多個可能的動態類型。這3個特點決定了面向對象具有維護簡單、可擴充、能夠代碼重用的優點。由此可見,面向對象技術在計算機語言的發展中越來越成熟。
2計算機語言面向對象的開發
面向對象技術是一種以對象為基礎,以數據為中心,將數據和數據操作作為整體進行事件或消息驅動對象執行處理的程序設計。它是將整體抽象為類,采用抽象和信息隱蔽的技術。面向對象程序有別于面向過程程序,面向對象程序由類的定義和類的組成。而面向過程是將密切相關、相互依賴的數據和對數據的操作相互分離。所以面向對象程序設計更利于程序語言的編寫以及實現。
2.1面向對象開發的核心思想和概念
其核心思想包括很多個方面。如對象、類;對象指的是軟件系統模擬真實生活中的系統中的一種事物的抽象,在生活中常見的有銀行辦公系統、商場系統等。每個對象都是唯一的,而且每個對象具有自己的屬性、行為以及狀態。類就是包括很多個對象,是具有相同屬性和行為的對象的集合,每個對象都是類的具體實例,類中的對象雖然具有相同的屬性,但是卻具有不同的狀態。打個比方說,如果定義貓為一個類,那么白貓就是其中的一個對象,那么被定義使用貓的對象的屬性為白色,就是對象的狀態。
接口、消息以及封裝也是面向對象的核心思想。所謂接口就是系統對外提供的服務是一個抽象的概念,系統接口定義的是系統所能夠提供的服務,但其中并不包括服務實現的細節。從使用者的角度來說,對象中所有公開方法的聲明構成了對象接口,而消息就是參數。封裝是面向對象極為重要的一個特點,它是指隱藏對象的屬性和實現的細節,僅僅對外公開接口,這樣做有利于使用者快捷方便地使用系統,還能有效防止使用者出現錯誤修改的現象,更重要的是封裝能夠提高系統的可用性,在不同的環境中,系統都是獨立的整體。
多態、動態綁定也是面向對象的核心思想。多態是指系統A訪問系統B提供的服務的時候,系統B可以通過多種方式來提供服務,而這一切對于系統A是透明的。動態綁定是指,一個接口=new實現類,這個實現類在運行的時候并不知道,可能是實現類A,也可能是實現類B,Java虛擬機的這種運行機制被稱為動態綁定。比如有一個父類super Cksi,它有2個子類sub Classl,subClass2。Super class有一個方法func(),兩個子類都重寫了這個方法。那么可以定義一個super class的引用obj,讓它指向一個子類的對象,比如super class obj =new subClass1();那么調用obj.func()方法時候,會進行動態綁定,也就是obj它的實際類型的func()方法,即subClass1的func()方法。同樣你寫super Class obj=new subClass2();obj.func()其實調用的是subClass2的func()方法。這種由于子類重寫父類方法,然后用父類引用指向子類對象,調用方法時候會進行動態綁定,這就是多態。如果程序員需要再添加一個sub-Class3子類,就只需要使用配置文件而不動源代碼就行了。
2.2面向對象開發的方法
在實際的工作中,很多軟件開發工程師都會遇到這樣的問題:在軟件開發過程和軟件投入使用后,要常常對軟件進行修改,而在原來的結構語言使用階段,這些修改具有一定的難度。如果代碼編寫不考慮周全,很有可能導致舊問題還未解決,新問題就出現了,更重要的是代碼重用率過低使得程序員工作效率極差。所以人們在不斷的實踐中開發出了一種能夠提高軟件系統穩定性和可修改性的新方法即面向對象法。
根據程序員多年工作經驗表明對于任何軟件系統而言其相應問題論域中的成分是最穩定的一部分,因而面向對象是從一種從結構組織來模式客觀世界的方法。主要構造法則有區分對象及其屬性、區分整體對象及其組成部分、不同對象類的形成以及區分。通俗地說,區分對象及其屬性就好比區分臺式機和筆記本;區分整體對象及其組成就如同區分區分臺式計算機組成(主機、顯示器等);區分不同對象類的形成就如同區分所有類型的計算機(大、中、小型計算機、服務器、工作站和普通微型計算機等)。
面向對象方法具有4個要點:(1)對象之間要能夠互傳信息;(2)按照繼承性,把若干個對象類組成一個層次結構的系統;(3)應該將所有對象分為對象類。每個對象類都有其具體的數據、方法。打個比方說熒光屏上不同位置顯示的半徑不同的.幾個圓,雖然都是Circle類的對象,但是,各自都有自己專用的數據,以便記錄各自的圓心位置、半徑等;
(4)軟件系統的基本組成元素是對象,復雜的軟件對象是由簡單的對象組合而成。面向對象方法的開發過程具體可分為4個階段。(1)系統調查和需求分析,這是要求在進行開發前應該對市場進行實際的調研,包括用戶的需求方面和系統開發面臨的現實問題,從而開發出的軟件或者其他中既能滿足用戶需要也能節省資金等。(2)分析問題的性質和求解問題。這個是面向對象的過程分析,其具體內容就是在對象中找出其行為、狀態等屬性,打個比方說,如果要做一個銀行辦公系統,首先就應該明確銀行辦公系統的用途、實現方法以及工作客觀端和管理工作端的具體內容。(3)整理問題,這個就是對分析調查的結果進行整合,最終確定下來。好比在進行銀行系統開發的所有調查活動之后,最終確定銀行辦公系統的架構體系。(4)程序實現,這是指運用面向對象語言開發出具體的應用程序軟件。
2.3發展現狀
在當今計算機技術的高速發展下,面向對象技術已經廣泛應用于現代軟件開發工作中,而且面向對象技術已經發展到更加廣闊的領域之中,如交互系統、人工智能、應用平臺等方面。而且一些大型軟件的開發 也才用面向對象技術,這樣在在研發過程中,就可以將整個系統軟件分為多個小單位進行逐一實現,而且這些單位之間既能保持獨立也能相互聯系。面向對象技術在生活中各個領域都有具體的應用,如郵政業務管理系統、銀行管理系統等一些事物種類繁多、業務邏輯復雜、數據量較大的網站中。
3結語
在如今信息技術高速發展的經濟時代,計算機技術已經滲入到人們生活的各個領域當中,計算技術的快速發展必然帶動計算機語言的革新,從舊式的機器語言演變到如今的面向對象語言,其中面向對象語言已經成為計算機語言的重要部分。所以相信在經濟高速發展的背景下面向對象技術能夠迅猛發展,為人們的生活帶來更多的技術革新。
【計算機語言面向對象開發的發展探討論文】相關文章: