楊蘭
(寶雞職業(yè)技術(shù)學(xué)院陜西寶雞721013)
在當(dāng)前計算機軟件開發(fā)中比較常用的編程語言就是JAVA。JAVA編程語言也是一種面向?qū)ο笳Z言,是具備開發(fā)價值的源代碼,可以靈活應(yīng)用在各種操作平臺中[1-2]。雖然在市場中存在不少的編程語言,但是JAVA卻占據(jù)一定的市場份額,也是程序員比較喜愛的一種編程語言。想要將JAVA編程語言靈活應(yīng)用在實際的計算機軟件開發(fā)中,需要對其基本性質(zhì)和特點進行全面認識,繼而為實際應(yīng)用奠定理論基礎(chǔ)。
JAVA編程語言是以C++語言為基礎(chǔ)得到發(fā)展的,市場價值較大[3]。當(dāng)前在手機游戲軟件開發(fā)中所應(yīng)用的操作系統(tǒng)基本上都是Android系統(tǒng),但是JAVA仍然占據(jù)一定的比例[4]。程序員在開發(fā)軟件的過程中,JAVA仍然是他們的首選語言,這和JAVA語言自身所具備的優(yōu)越性密切相關(guān)。JAVA語言雖然具備特定的生命周期,但是其優(yōu)越性和實用性價值仍然不可被忽略。
在實際編程的過程中應(yīng)用JAVA編程語言,可以減少語言的復(fù)雜性,對于多級別繼承、自動性強制性措施都進行省略,這樣就會使編程大大的簡化,用起來更加簡單,進而提高編程語言的效率[5]。除此特點,JAVA語言還使內(nèi)存空間得到有效擴大,增加了計算機軟件開發(fā)的可靠性。
JAVA語言的主要指導(dǎo)思想為“JAVA虛擬性”[6-7]。首先需要編譯為中間碼,其次裝載和校驗,最后在編譯為機器碼,最后執(zhí)行。整個過程中有效的屏蔽掉了平臺環(huán)境所具備的具體特點。
面向?qū)ο笫且环N比較新型的編程理念,也是最近幾年在計算機軟件開發(fā)領(lǐng)域所出現(xiàn)的程序設(shè)計理念[8]。主要是把客觀的元素進行分類,再封裝參數(shù),采用成員變量等相關(guān)的方式對元素的性質(zhì)和狀態(tài)進行描述,最終采用相應(yīng)的方式來實現(xiàn)軟件的功能。
圖形編程工具設(shè)計是計算機軟件技術(shù)開發(fā)過程中的具體內(nèi)容[9-10]。當(dāng)前青少年廣泛沉迷于游戲,為了緩解這一現(xiàn)狀,開發(fā)出游戲機器人,讓其代替自己玩游戲。玩家首先需要對自己所玩的游戲機器人進行編程,然后根據(jù)具體的游戲結(jié)果來修改自己的程序。青少年對于這種語言編程并不熟悉,為了解決這個問題,設(shè)計出JAVA圖形編程工具,使編程簡化。比如下文的基本條件判斷語句:
使用圖1的圖形表示框來表示這個過程,只需要簡單的填寫就行,當(dāng)然想要實現(xiàn)這個目的需要設(shè)計圖形編輯語言和相應(yīng)的編譯工具。
本次以該圖形編程工具軟件為例,展開詳細分析。
本設(shè)計以Eclipse為平臺,而此平臺就是以JAVA為基礎(chǔ)的框架和服務(wù)。
圖1 基本條件語句
圖形編輯工具需要由代碼轉(zhuǎn)換器、編譯器和圖形變換器等3個基本的模塊構(gòu)成[11]。圖形化的編程方法由圖形編輯器進行提供,后臺的模型會存儲和記錄程序的全部信息。代碼轉(zhuǎn)換器則是把圖形編輯器收集到的信息進行翻譯和轉(zhuǎn)換,使其符合JAVA的語言規(guī)范。編譯器是對代碼轉(zhuǎn)換器所生成的文本代碼進行轉(zhuǎn)換,軟件框架如圖2所示。
圖2 軟件結(jié)構(gòu)圖
圖形編程語言采用元建模機制,在對JAVA語言進行參考的基礎(chǔ)上實現(xiàn)的,主要目的使用來描述比較抽象的語義和語法。實現(xiàn)抽象語法和具體語法(圖形符號和語音元素)區(qū)分開來。抽象語法的擴充也就是具體的語法過程,把元模型中的各個基本的元素以及關(guān)聯(lián)約束,以特定的圖形符號映射出來[12]。
1)抽象語法的定義
元模型所規(guī)定的是語言的元素之間的各種構(gòu)造關(guān)系[13]。圖3中所顯示的是圖形語言中出現(xiàn)的基本元素,根據(jù)圖3看出if else和segment之間都存在著聚合關(guān)聯(lián)關(guān)系。
圖3 元模型結(jié)構(gòu)示意圖
圖形語言中的元素不僅具有以上一點,還對loop,ldentifier modifiner type等語言元素進行定義。
2)語義定義
元模型借助于自然語言來對圖形語言進行定義,并且說明原因元素之間關(guān)系的實際含義是什么[14]。本設(shè)計應(yīng)用if else語句,所以需要對相關(guān)屬性進行定義,Segment為語句塊(如圖3所示)。
圖形編輯器的設(shè)計是以MVC構(gòu)架模式為基礎(chǔ),實現(xiàn)應(yīng)用程序控制層、表現(xiàn)層和數(shù)據(jù)層的有效分析,從而使三者獨立演化。模型是對軟件處理應(yīng)用問題的一種內(nèi)在抽象。使應(yīng)用問題的核心數(shù)據(jù)、處理過程和邏輯關(guān)系等被封裝。
用戶想要實現(xiàn)圖形方式的變成,必須要依賴相應(yīng)的圖形符號,這就需要把語言元模型中的元素轉(zhuǎn)化和映射為特定的圖形符號。在圖3中可以發(fā)現(xiàn)segment元素,需要把它映射為圖4類型的普通矩形。而圖3中的if else需要映射為圖5復(fù)雜圖形。
圖4 segment元素映射圖形
圖5 if else映射圖形
視圖的圖形類還需要涉及到圖形編輯的相關(guān)問題,比如導(dǎo)航連接線、組合分離和尺寸的修改等[15]。圖5中的映射圖形在本次設(shè)計中的實際界面應(yīng)用情況如圖6所示,在if else所對應(yīng)的視圖上方矩形中出現(xiàn)了兩個箭頭相互連接的賦值語句圖形符號,說明箭頭末端的語句需要先進行執(zhí)行。
每個視圖圖形在編輯器的后臺需要創(chuàng)立相對應(yīng)的模型,使視圖圖像的相關(guān)代碼信息得到保存。編輯器創(chuàng)建的模型實際上就是元模型當(dāng)中含有的那些基本元素的對象。模型設(shè)計的工作就是對元模型中基本元素和各個元素之間的關(guān)聯(lián)約束進行編碼。在圖6中可以發(fā)現(xiàn)if else條件語句所對應(yīng)的后臺模型正是條件變量值“2+2>3”。
圖6 實際操作示意圖
在實際設(shè)計過程中可以在元模型中加入相應(yīng)的管理監(jiān)聽器機制,這樣可以使客戶程序吊桶模型對象,實現(xiàn)對內(nèi)內(nèi)部值的修改時,模型對象將會按照相應(yīng)的規(guī)則和變化來做出相應(yīng)的反應(yīng),并且會把這個反應(yīng)反送給向?qū)?yīng)的監(jiān)聽器。監(jiān)聽器再根據(jù)得到的數(shù)據(jù)信息做出反應(yīng)動作。圖7中是采用屬性編輯器對條件語句的判斷條件修訂之后,對應(yīng)模型所修訂的結(jié)果值“(1+2)≥3”。而安裝的管理監(jiān)聽器機制內(nèi)部也發(fā)生修改條件變量的“set”,而且把修改前后的新值和舊值都發(fā)送到監(jiān)聽器中。
圖7 修訂結(jié)果值
1)對模型對象進行監(jiān)聽
控制器是試圖和模型的協(xié)調(diào)工作,每個控制器都能夠?qū)崿F(xiàn)監(jiān)聽器接口,而且還可以以監(jiān)聽器的形式駐留在對應(yīng)的模型對象內(nèi)部。如果模型對象通知數(shù)據(jù)發(fā)生相應(yīng)的變化之后,控制器會根據(jù)數(shù)據(jù)變化的形式來創(chuàng)建新的視圖或者根據(jù)對應(yīng)視圖來選擇連接、尺寸和位置等,從而使對應(yīng)視圖和模型整體上保持最高的一致性。
根據(jù)圖7中的數(shù)據(jù)可以發(fā)現(xiàn),如果用戶按下了屬性編輯器中的“finish”按鈕,實現(xiàn)對條件語句的修改確定之后,后臺模型中的對象就會將這種變化通知給相對應(yīng)的控制器。之后,控制器就會把條件語句中所對應(yīng)的視圖條件字串進行修改,將其改為“(1+2)≧3”。
2)接受編輯,反饋結(jié)果
我們?yōu)閳D6的控制器配備了編輯策略類控制器功能,此種策略類的控制器會根據(jù)用戶的實際需求而生成刪除條件語句的相應(yīng)命令類對象,即“delete comand”。當(dāng)用戶選擇了條件語句并且按下delete按鍵之后,該條件語句控制器中的component policy對象就會生成對應(yīng)的刪除對象,最后再生成后臺模型對象。在通知相關(guān)的控制器之后,編輯器的前臺就會對視圖進行刷新。
代碼轉(zhuǎn)換器需要使用對應(yīng)的翻譯軟件自動生成符合JAVA編程語言規(guī)范的文本代碼。翻譯部件需要以代碼模板機制為基礎(chǔ)進而落實翻譯功能。此機制一般會把文本代碼的內(nèi)容進行進一步的劃分,將其分為變化較快的局部細節(jié)和較穩(wěn)定的主體框架。
實際設(shè)計過程中需要為各個元素配備相應(yīng)的翻譯部件。翻譯結(jié)束之后元素實例也會轉(zhuǎn)化為實例等價的JAVA代碼字符串。代碼模板機制具體體現(xiàn)在翻譯部件需要按照事先設(shè)定好的順序、形式和位置向緩沖變量寫入文本代碼。圖5中的條件語句,可以將其翻譯為JAVA代碼,如下:
本次以JAVA編程語言為基礎(chǔ)設(shè)計的圖形編程工具,被集成應(yīng)用到實驗室開發(fā)游戲機器人平臺當(dāng)中,將其當(dāng)做圖形變成游戲的必要手段。根據(jù)具體的實驗得出結(jié)果,如表1所示。
表1 常規(guī)和JAVA語言圖形編輯器使用效果對比
本次以JAVA編程語言程序為基礎(chǔ),設(shè)計相應(yīng)的圖像編輯軟件,從而設(shè)計相應(yīng)的游戲機器人,這是JAVA編程語言在計算機信息技術(shù)中應(yīng)用的具體表現(xiàn)。通過具體的設(shè)計和試驗驗證,發(fā)現(xiàn)JAVA編程語言在圖像編程工具設(shè)計方面具備以下幾方面的優(yōu)點:1)更加形象,理解難度降低,幫助軟件開發(fā)者更好的理清思路;2)不需要掌握高難度的編程方法和知識;3)使軟件開發(fā)者能夠更好的理解抽象性問題,使程序設(shè)計的效率得到有效提高。
進入到21世紀之后,人們的確已經(jīng)邁入到信息化發(fā)展時代,計算機軟件和網(wǎng)絡(luò)技術(shù)的應(yīng)用已經(jīng)成為人們生活和工作中離不開的重要工具。JAVA編程語言自身具有簡潔性、建議性和泛用性等優(yōu)點,使傳統(tǒng)編程語言的缺點得到有效改善,也是當(dāng)前計算機軟件開發(fā)過程中無法被取代的重要技術(shù)。本次通過JAVA編程語言在游戲機器人平臺圖形編程中的實際應(yīng)用為例,分析JAVA編程語言的應(yīng)用方法和特點。
[1]周寶亮,王敏.計算機軟件開發(fā)中JAVA編程語言的應(yīng)用[J].電子技術(shù)與軟件工程,2017(3):61-62.
[2]葉紅美.計算機軟件Java編程特點及其技術(shù)分析[J].電腦編程技巧與維護,2017(2):13-14,39.
[3]謝會娜.計算機軟件開發(fā)中JAVA編程語言的應(yīng)用[J].電子技術(shù)與軟件工程,2017(1):62.
[4]惲健.基于計算機應(yīng)用軟件開發(fā)的Java編程語言探究[J].電腦編程技巧與維護,2016(16):26-27.
[5]申屠越洋.計算機軟件開發(fā)中JAVA編程語言的應(yīng)用研究[J].電子技術(shù)與軟件工程,2016(15):70.
[6]宋秀琴,侯殿坤.JAVA編程語言在計算機軟件開發(fā)中的應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2016(6):80.
[7]蔡麗.基于計算機軟件開發(fā)的JAVA編程語言分析[J].現(xiàn)代商貿(mào)工業(yè),2016(11):220.
[8]楊靖.計算機軟件開發(fā)中JAVA編程語言的應(yīng)用[J].信息技術(shù)與信息化,2016(5):80-81.
[9]劉群娣.基于計算機軟件開發(fā)JAVA編程語言分析[J].信息與電腦(理論版),2015(22):60-61.
[10]趙相宇.以計算機軟件開發(fā)為基礎(chǔ)探討JAVA編程語言[J].通訊世界,2015(14):221.
[11]劉芳.計算機軟件開發(fā)中JAVA編程語言的應(yīng)用價值[J].電子技術(shù)與軟件工程,2015(13):253.
[12]雷桂平.計算機軟件開發(fā)中JAVA編程語言的應(yīng)用[J].計算機光盤軟件與應(yīng)用,2014(23):68,70.
[13]田智.基于計算機軟件開發(fā)的JAVA編程語言分析[J].硅谷,2014,(19):59,37.
[14]王晶晶.基于計算機軟件開發(fā)的JAVA編程語言分析[J].河南科技,2013(2):17,134.
[15]李福坤.基于Java的多用戶電子商務(wù)平臺實現(xiàn)[D].吉林:吉林大學(xué),2010.