版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
5.2ArkTS開發(fā)語言基礎(chǔ)
本章主要講述鴻蒙ArkTS開發(fā)語言基礎(chǔ)
。通過學(xué)習(xí)本節(jié)將能夠了解鴻蒙ArkTS開發(fā)語言基礎(chǔ)
。通過本節(jié)學(xué)習(xí)可以熟悉:ArkTS變量的聲明與類型ArkTS數(shù)組與動(dòng)態(tài)數(shù)組ArkTS函數(shù)與箭頭函數(shù)ArkTS類與接口ArkTS模塊的應(yīng)用ArkTS變量的聲明與類型ArkTS數(shù)組與動(dòng)態(tài)數(shù)組ArkTS函數(shù)與箭頭函數(shù)ArkTS類與接口ArkTS模塊的應(yīng)用ArkTS變量的聲明與類型(1/3)ArkTS語言中以let關(guān)鍵詞開頭的語句聲明變量:let
變量名:
類型=初始值;lets:string=‘hello’;//變量聲明時(shí)指定變量類型lets2=‘hello’;//變量聲明時(shí)不指定類型,由編譯器自動(dòng)識別
所有變量的數(shù)據(jù)類型都必須在聲明時(shí)指定,但是一個(gè)變量的聲明語句中包含了初始值,那可以不指定其類型,而是由編譯器指定:通過const關(guān)鍵詞聲明只讀變量:const
s:string=‘hello’;//方式1const
s2=‘hello’;//方式2ArkTS變量的聲明與類型(2/3)ArkTS常用的基礎(chǔ)數(shù)據(jù)類型:
number:數(shù)字類型,支持任意大小的整數(shù)與浮點(diǎn)數(shù),并支持十進(jìn)制、二進(jìn)制(0b開頭)、八進(jìn)制(0o開頭)和十六進(jìn)制(0x開頭)等數(shù)據(jù)。
string:字符串類型,用于描述文本信息,可以使用雙引號(")或單引號(')來表示字符串。
boolean:布爾類型,用于標(biāo)識真(true)和假(false)。ArkTS變量的聲明與類型(3/3)
可在DevEcoStudio編輯環(huán)境中,雙擊打開Index.ets源文件,并在源文件首部輸入代碼語句,然后點(diǎn)擊圖中右側(cè)的“Previewer”進(jìn)入窗口預(yù)覽,相關(guān)的輸出信息就會(huì)在底部的Log窗口中顯示出來ArkTS變量的聲明與類型ArkTS數(shù)組與動(dòng)態(tài)數(shù)組ArkTS函數(shù)與箭頭函數(shù)ArkTS類與接口ArkTS模塊的應(yīng)用ArkTS數(shù)組與動(dòng)態(tài)數(shù)組(1/2)
數(shù)組是多個(gè)同類型變量的集合,ArkTS中聲明數(shù)組語句:let數(shù)組名:變量類型[]=[變量值1,變量值2...];letarr1:number[]=[1,2,3];
聲明一個(gè)包含3個(gè)number變量的數(shù)組,初始值分別為1、2、3,
代碼語句:也可以先聲明數(shù)組,并指定數(shù)組元素的個(gè)數(shù),然后再予每個(gè)變量進(jìn)行賦值:letarr2:number[]=newArray(3);arr2[0]=11;arr2[1]=22;arr2[2]=33;ArkTS數(shù)組與動(dòng)態(tài)數(shù)組(2/2)
動(dòng)態(tài)數(shù)組可以存放任意一種類型的多個(gè)變量,并在使用中,根據(jù)需求動(dòng)態(tài)改變數(shù)組中元素的個(gè)數(shù)。//1.聲明存放number變量的動(dòng)態(tài)數(shù)組,初始為空數(shù)組letarr:Array<number>=[];//2.往動(dòng)態(tài)數(shù)組增加要存儲(chǔ)的數(shù)據(jù)arr.push(1);//動(dòng)態(tài)數(shù)組內(nèi)部會(huì)增加一個(gè)元素存放值1arr.push(2);//動(dòng)態(tài)數(shù)組內(nèi)部會(huì)增加一個(gè)元素存放值2arr.push(3);//動(dòng)態(tài)數(shù)組內(nèi)部會(huì)增加一個(gè)元素存放值3//3.循環(huán)輸出數(shù)組中每個(gè)元素值,arr.length獲取數(shù)組中的元素for(leti:number=0;i<arr.length;i++)
console.debug("arr["+i+"]="+arr[i]);ArkTS變量的聲明與類型ArkTS數(shù)組與動(dòng)態(tài)數(shù)組ArkTS函數(shù)與箭頭函數(shù)ArkTS類與接口ArkTS模塊的應(yīng)用ArkTS函數(shù)與箭頭函數(shù)(1/2)ArkTS中的函數(shù)聲明格式:function函數(shù)名(參數(shù)變量名:參數(shù)變量類型,...):返回值類型function函數(shù)名(參數(shù)變量名:參數(shù)變量類型,...):void//方式1function函數(shù)名(參數(shù)變量名:參數(shù)變量類型,...)//方式2
如果函數(shù)沒有返回值,則函數(shù)聲明格式如下:如實(shí)現(xiàn)一個(gè)將兩個(gè)number變量值加起來并返回的函數(shù)功能://函數(shù)封裝functionmyAdd(a:number,b:number):number{returna+b;}//應(yīng)用測試console.debug(""+myAdd(3,4));ArkTS函數(shù)與箭頭函數(shù)(2/2)
在ArkTS中,為了便于實(shí)現(xiàn)函數(shù)的回調(diào)功能,可以使用Lambda函數(shù)(匿名函數(shù))實(shí)現(xiàn)一個(gè)一次性的、極為簡潔的函數(shù),它可以省略函數(shù)名及返回值類型,函數(shù)聲明語句中因帶有=>符號,Lambda函數(shù)也稱為箭頭函數(shù)。//由一個(gè)func變量存放箭頭函數(shù)letfunc=(a:number,b:number)=>{returna+b;}//通過func變量調(diào)用箭頭函數(shù)console.debug(""+func(3,4));console.debug(""+func(7,8));ArkTS變量的聲明與類型ArkTS數(shù)組與動(dòng)態(tài)數(shù)組ArkTS函數(shù)與箭頭函數(shù)ArkTS類與接口ArkTS模塊的應(yīng)用ArkTS類與接口(1/6)
類,本質(zhì)上是一種數(shù)據(jù)類型,而該類型的一個(gè)具體實(shí)例則被稱為對象。例如,在學(xué)生類中,一個(gè)叫張三的學(xué)生便是一個(gè)對象實(shí)例。ArkTS的類中可直接定義描述行為功能的函數(shù)成員,并可對在類中的屬性成員與函數(shù)成員賦予不同的訪問權(quán)限。類中所有成員可根據(jù)三種不同的修飾詞被劃分為不同的訪問權(quán)限,這些修飾詞分別是:public:表示公有權(quán)限,只要通過類的對象名就可以訪問此成員。private:表示私有權(quán)限,此成員只能由類內(nèi)部的函數(shù)成員訪問。protected:表示受保護(hù)權(quán)限,此成員可以在類內(nèi)部和派生類中被訪問。若類成員未使用上述三種修飾詞聲明權(quán)限,則默認(rèn)使用public公有權(quán)限。ArkTS類與接口(2/6)
創(chuàng)建類對象時(shí),會(huì)自動(dòng)觸發(fā)調(diào)用類的constructor構(gòu)造函數(shù)實(shí)現(xiàn)屬性成員的初始化,如定義一個(gè)描述學(xué)生信息的Student類:classStudent{
privateid:number=0;
privatename:string='whom';
constructor(id:number,name:string){
//構(gòu)造函數(shù)
//this表示當(dāng)前對象,this.id表示當(dāng)前對象的id成員
this.id=id;//當(dāng)前對象的id成員值設(shè)為參數(shù)id的值
=name;
}
publicshowMsg(){
console.debug("id:"+this.id+"name:"+);
}}ArkTS類與接口(3/6)//創(chuàng)建Student對象,觸發(fā)調(diào)用構(gòu)造函數(shù)并傳遞參數(shù)letstu1:Student=newStudent(1,'LiLei');letstu2:Student=newStudent(2,'WuBinBin');//通過對象名訪問公有函數(shù)成員stu1.showMsg();stu2.showMsg();ArkTS類與接口(4/6)
在ArkTS中的interface接口通常應(yīng)用在程序中,用于編寫實(shí)現(xiàn)兼容后續(xù)代碼的程序核心架構(gòu)功能。如在游戲程序中,先描述角色攻擊功能函數(shù),及游戲副本://聲明角色的攻擊函數(shù)interfaceRole{attack():void;//只聲明,不實(shí)現(xiàn)函數(shù)體}//游戲副本,角色攻擊兩次functionplay(r:Role){r.attack();r.attack();}ArkTS類與接口(5/6)
通常在游戲中會(huì)有不同類型的角色,每種角色的攻擊方法與手段不盡相同,所以需要在描述具體角色類中具體實(shí)現(xiàn)接口函數(shù),如實(shí)現(xiàn)戰(zhàn)士與魔法師等角色的接口函數(shù):classWarriorimplementsRole{//在戰(zhàn)士類中實(shí)現(xiàn)攻擊函數(shù)attack():void{console.debug("戰(zhàn)士貼身戰(zhàn)斗!");}}classMagicianimplementsRole{//在魔法師類中實(shí)現(xiàn)的攻擊函數(shù)attack():void{console.debug("魔法師遠(yuǎn)程攻擊!");}}ArkTS類與接口(6/6)
不管具體角色類的功能如何,只要實(shí)現(xiàn)了Role接口函數(shù),則預(yù)先編寫好的游戲副本會(huì)完全兼容各種游戲角色,如讓戰(zhàn)士與魔法師進(jìn)入游戲副本:play(newWarrior());//創(chuàng)建戰(zhàn)士對象,此戰(zhàn)士進(jìn)入副本play(newMagician());//創(chuàng)建魔法師對象,此魔法師進(jìn)入副本ArkTS變量的聲明與類型ArkTS數(shù)組與動(dòng)態(tài)數(shù)組ArkTS函數(shù)與箭頭函數(shù)ArkTS類與接口ArkTS模塊的應(yīng)用ArkTS模塊的應(yīng)用(1/3)
按模塊化設(shè)計(jì)分成多個(gè)源文件。在DevEco工程選中“pages”文件夾后點(diǎn)擊鼠標(biāo)右鍵選擇“ArkTSFile”,創(chuàng)建Role.ets源文件://聲明角色的攻擊函數(shù)exportinterfaceRole{
attack():void;//只聲明,不實(shí)現(xiàn)函數(shù)體}
//游戲副本,攻擊兩次exportfunctionplay(r:Role){
r.attack();
r.attack();}import{Role}from'./Role';//導(dǎo)入使用Role.ets中的Role接口exportclassWarriorimplementsRole{//定義戰(zhàn)士的攻擊函數(shù)attack():void{console.debug("戰(zhàn)士貼身戰(zhàn)斗!");}}exportclassMagicianimplementsRole{//定義魔法師的攻擊函數(shù)attack():void{console.debug("魔法師遠(yuǎn)程攻擊!");}}ArkTS模塊的應(yīng)用(2/3)再創(chuàng)建PlayerRole.ets源文件://導(dǎo)入使用PlayerRole.ets中的Warrior,Magician類import{Magician,Warrior}from'./PlayerRole';//導(dǎo)入使用Role.ets中的play副本函數(shù)import{play}from'./Role';p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年分子細(xì)胞卓越中心金明梁組招聘助理研究員備考題庫含答案詳解
- 2025年義安區(qū)檢察院公開招聘編外聘用人員備考題庫及答案詳解參考
- 2025年鼓東街道公開招聘專職網(wǎng)格員備考題庫(12月)及參考答案詳解一套
- 2026年廈門市古地石實(shí)驗(yàn)幼兒園招聘教職工備考題庫帶答案詳解
- 2026年國投滬康(上海)養(yǎng)老服務(wù)有限公司招聘備考題庫帶答案詳解
- 2026年湖南城建職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性考試題庫必考題
- 2026年四川輕化工大學(xué)公開考核招聘高層次人才98人備考題庫及1套參考答案詳解
- 2026年關(guān)于選聘機(jī)械科學(xué)與工程學(xué)院兼職輔導(dǎo)員的備考題庫及1套完整答案詳解
- 2026年中國中原對外工程有限公司招聘備考題庫帶答案詳解
- 2026年中化工程滄州冷卻技術(shù)有限公司招聘備考題庫及參考答案詳解一套
- DB35T 2136-2023 茶樹病害測報(bào)與綠色防控技術(shù)規(guī)程
- 蓋板涵蓋板計(jì)算
- 運(yùn)輸工具服務(wù)企業(yè)備案表
- 醫(yī)院藥房醫(yī)療廢物處置方案
- 天塔之光模擬控制PLC課程設(shè)計(jì)
- 金屬眼鏡架拋光等工藝【省一等獎(jiǎng)】
- 《藥品經(jīng)營質(zhì)量管理規(guī)范》的五個(gè)附錄
- ASMEBPE介紹專題知識
- 八年級上冊地理期末復(fù)習(xí)計(jì)劃通用5篇
- 初中日語人教版七年級第一冊單詞表講義
- GB/T 9065.5-2010液壓軟管接頭第5部分:37°擴(kuò)口端軟管接頭
評論
0/150
提交評論