日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

易语言java类_易语言面对对象编程

發(fā)布時(shí)間:2024/1/1 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 易语言java类_易语言面对对象编程 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

易語(yǔ)言面對(duì)對(duì)象編程---類的創(chuàng)建與使用

面對(duì)對(duì)象編程,可以說(shuō)是當(dāng)前最流行的編程方式,當(dāng)前流行的面對(duì)對(duì)象的編程語(yǔ)言很多,如:C++、JAVA等等。易語(yǔ)言3.8版推出后,同樣緊跟編程語(yǔ)言發(fā)展的方向,也開(kāi)始全面支持面對(duì)對(duì)象編程。并且在中文化編程的基礎(chǔ)上,簡(jiǎn)化了類的創(chuàng)建與使用,使面對(duì)對(duì)象的編寫過(guò)程變的更加簡(jiǎn)單。

1.類的插入

面對(duì)對(duì)象編程就離不開(kāi)類的創(chuàng)建,下面首先介紹一下對(duì)象和類的區(qū)別。

對(duì)象(Object)是類(Class)的一個(gè)實(shí)例(Instance)。如果將對(duì)象比作房子,那么類就是房子的設(shè)計(jì)圖紙。所以面向?qū)ο蟪绦蛟O(shè)計(jì)的重點(diǎn)是類的設(shè)計(jì),而不是對(duì)象的設(shè)計(jì)。

易語(yǔ)言中,可以通過(guò)菜單“插入”→“類模塊”來(lái)創(chuàng)建類,如圖1所示:

圖1創(chuàng)建新類

2.對(duì)象的構(gòu)造和析構(gòu)

創(chuàng)建后的類自動(dòng)生成2個(gè)方法“_初始化()”和“_銷毀()”。

“_初始化()”方法在基于該類的對(duì)象被創(chuàng)建后,會(huì)被自動(dòng)調(diào)用,該方法的功能相當(dāng)于構(gòu)造函數(shù);“_銷毀()”方法,在基于該類的對(duì)象被銷毀前,會(huì)被自動(dòng)調(diào)用,該方法的功能相當(dāng)于析構(gòu)函數(shù)。在其他面向?qū)ο缶幊陶Z(yǔ)言中,構(gòu)造和析構(gòu)函數(shù)是需要程序員自己創(chuàng)建的,易語(yǔ)言中簡(jiǎn)化了這個(gè)過(guò)程。

構(gòu)造函數(shù)和析構(gòu)函數(shù)用于在基于該類的對(duì)象被構(gòu)造(創(chuàng)建)和析構(gòu)(銷毀)時(shí)初始化和銷毀數(shù)據(jù)。

而對(duì)象的構(gòu)造和析構(gòu)的過(guò)程是自動(dòng)的,構(gòu)造順序?yàn)?#xff1a;先構(gòu)造基類對(duì)象,再構(gòu)造其繼承類對(duì)象,如果類中具有對(duì)象成員,則先于其所處對(duì)象構(gòu)造;析構(gòu)順序?yàn)?#xff1a;先析構(gòu)繼承類對(duì)象,再析構(gòu)基類對(duì)象,如果類中具有對(duì)象成員,則在其所處對(duì)象后析構(gòu)。

編程時(shí)需要做的事情就是在“_初始化()”和“_銷毀()”方法中,編寫基于該類的對(duì)象創(chuàng)建和銷毀時(shí)需要執(zhí)行的代碼。

3.類的封裝

創(chuàng)建一個(gè)新類后,在“類名”上按下回車鍵,可以定義類的私有成員。點(diǎn)擊Ctrl+N,可以新建一個(gè)方法,在新建的方法中編輯代碼,就可以實(shí)現(xiàn)類的一些功能。

新定義方法,可以設(shè)置“公開(kāi)”屬性。沒(méi)有設(shè)置“公開(kāi)”屬性的方法,在基于該類的對(duì)象創(chuàng)建后是不可見(jiàn)的,這樣可以達(dá)到信息隱藏的目的,即讓類僅僅公開(kāi)必須要讓外界知道的內(nèi)容,而隱藏其它一切內(nèi)容。如圖2所示:

圖2私有成員及方法

類是將數(shù)據(jù)變量和方法封裝在一起的,其中方法(函數(shù))表示了類的行為,數(shù)據(jù)變量是類的私有成員(類的屬性),私有成員只能由該類本身的方法代碼所訪問(wèn),屬于私有性質(zhì)。所以提倡“對(duì)象調(diào)方法,方法改屬性”。

類的封裝包含以下幾個(gè)方面:

(1)類的所有成員數(shù)據(jù)變量只能由該類本身的方法代碼所訪問(wèn),屬于私有性質(zhì)。

(2)在繼承類中可以以“類名.方法名”的方式指定訪問(wèn)基礎(chǔ)類中的方法。

(3)只有標(biāo)記為“公開(kāi)”的方法才能在類代碼外部通過(guò)該類的對(duì)象實(shí)體來(lái)訪問(wèn)。

4.類的繼承性

易語(yǔ)言在新創(chuàng)建一個(gè)類的時(shí)候,可以看到有一個(gè)名為“基類”的項(xiàng)目,該項(xiàng)目用來(lái)定義本類的基礎(chǔ)類。該項(xiàng)目不填寫內(nèi)容的情況下,該類就沒(méi)有基類;如果在該項(xiàng)目中填入一個(gè)類的名稱,那么該類就是從填寫的類中派生而來(lái)的。派生后的類具有繼承性。

如,當(dāng)前已經(jīng)創(chuàng)建了一個(gè)類1,那么在創(chuàng)建類2的時(shí)候在基類中填入“類1”,這樣類2就是類1的派生類。如圖3所示:

圖3創(chuàng)建派生類

派生出的類具有繼承性,如圖3中,“類1”是一個(gè)基類,“類2”是“類1”的派生類,那么“類2”就繼承了“類1”的所有方法。

下面用在畫板中畫各種圖形的例程,來(lái)進(jìn)一步說(shuō)明類繼承性。

首先創(chuàng)建一個(gè)基類“圖形”,并創(chuàng)建它的各種方法。代碼如下:

然后創(chuàng)建它的派生類:“橢圓”

“橢圓”是“圖形”的派生類,這樣“橢圓”就繼承了“圖形”類中的所有公開(kāi)的方法,即“橢圓”也具有了“圖形”中所公開(kāi)的方法。這樣在“橢圓”對(duì)象創(chuàng)建后就可以調(diào)用這些繼承的方法:

可以看到“圖形”類中的“取顏色()”和“取結(jié)束位置()”方法,沒(méi)有設(shè)置“公開(kāi)”屬性,所以在基于“橢圓”(“圖形”類的派生類)的對(duì)象被創(chuàng)建后,沒(méi)有公開(kāi)的方法即被隱藏起來(lái)了。

注意:在一個(gè)派生的類中,可以直接調(diào)用其父類的方法。“橢圓”類的繪畫方法中,就直接調(diào)用了其父類的“取顏色()”方法,將填充顏色取出:

這里要注意,雖然子類中可以直接調(diào)用父類的方法,但子類調(diào)用父類的方法取出和更改的都是自身的私有成員,而不能直接取得和更改父類的私有成員值。而例程中正確的設(shè)置了顏色,是由于程序中使用了覆蓋。覆蓋后面會(huì)詳細(xì)介紹。

5.類的多態(tài)性

程序中,創(chuàng)建了一個(gè)類型為“圖形”的數(shù)組,程序運(yùn)行后,將其子類的變量依次加入到數(shù)組中,代碼如下:

通過(guò)運(yùn)行上述程序,可將4個(gè)子類對(duì)象變量加入到父類 “圖形對(duì)象”數(shù)組對(duì)象變量中,以后程序可以通過(guò):“圖形對(duì)象[X].方法名()”來(lái)調(diào)用對(duì)應(yīng)子類的不同方法。

易語(yǔ)言中類的多態(tài)性是指對(duì)象變量的多態(tài)性。

這種將子類變量賦值給父類變量的方法,體現(xiàn)了對(duì)象變量的多態(tài)性。

6.虛擬方法

虛擬方法,又稱為虛函數(shù),是一種虛擬出的方法。

虛擬方法就是允許被子類重新定義父類的方法,這就是常說(shuō)的函數(shù)的覆蓋(overload)。

其他編程語(yǔ)言中通過(guò)“virtual”關(guān)鍵字來(lái)定義虛函數(shù),在易語(yǔ)言中可以不用定義,只要子類中有和父類參數(shù)和屬性完全相同的方法,然后通過(guò)上面講到的子類變量賦值給父類變量的作法,可以達(dá)到覆蓋虛方法的目的。當(dāng)然也可以定義一個(gè)抽象虛方法(純虛函數(shù)),即一個(gè)空方法,只提供方法的框架而不編寫任何代碼,實(shí)現(xiàn)的過(guò)程完全通過(guò)子類的覆蓋來(lái)實(shí)現(xiàn)。

例程中,“圖形”基礎(chǔ)類定義了一個(gè)“繪畫()”的方法,該方法中沒(méi)有任何代碼,是一個(gè)抽象虛方法(純虛函數(shù)),程序又定義了“圖形”類的幾個(gè)派生類,包括“直線”、“矩形”、“橢圓”和“圓角矩形”,這些派生類中,都定義了同名的“繪畫()”方法,派生類的“繪畫()”方法實(shí)現(xiàn)了在畫板中畫出相應(yīng)的圖形。

例程中,當(dāng)按下鼠標(biāo)并移動(dòng),則在畫板中跟隨鼠標(biāo)移動(dòng)來(lái)畫出所選圖形,當(dāng)鼠標(biāo)被松開(kāi),就在畫板中確定畫出指定圖形,代碼如下:

程序中,調(diào)用了圖形對(duì)象的“繪畫()”方法,而在“圖形”類中的“繪畫()”方法是沒(méi)有編寫任何代碼的,在這里,它會(huì)在畫板中畫出各種圖形,是由于其派生類中的“繪畫”方法將“圖形”類(它的父類)中的“繪畫()”方法覆蓋了,這種子類可以重新定義父類函數(shù)的特性,充分體現(xiàn)出了函數(shù)的多態(tài)性。這個(gè)覆蓋的過(guò)程是動(dòng)態(tài)的,即在編寫類的時(shí)候,不定義某個(gè)方法要執(zhí)行的代碼,當(dāng)調(diào)用此方法時(shí),系統(tǒng)自動(dòng)根據(jù)所調(diào)用的對(duì)象實(shí)體去調(diào)用對(duì)應(yīng)的方法。

這里說(shuō)繼承的作用是為了代碼的重用,那多態(tài)則是為了實(shí)現(xiàn)接口的重用。像例程中提供的繪畫方法的接口,通過(guò)覆蓋實(shí)現(xiàn)了畫出多種不同的圖形。

1、易語(yǔ)言支持類的構(gòu)造、析構(gòu)、繼承、虛擬方法、多態(tài)、封裝特性。

2、對(duì)象的構(gòu)造:

構(gòu)造順序?yàn)?#xff1a;先構(gòu)造基類對(duì)象,再構(gòu)造其繼承類對(duì)象,如果類中具有對(duì)象成員,則先于其所處對(duì)象構(gòu)造。

3、對(duì)象的析構(gòu):

析構(gòu)順序?yàn)?#xff1a;先析構(gòu)繼承類對(duì)象,再析構(gòu)基類對(duì)象,如果類中具有對(duì)象成員,則在其所處對(duì)象后析構(gòu)。

4、繼承:

任何類均可以指定另外一類作為其基類,繼承層數(shù)不限。

5、虛擬方法:

在基類中的方法可以被其繼承類中的同名方法覆蓋,當(dāng)調(diào)用此方法時(shí),系統(tǒng)自動(dòng)根據(jù)所調(diào)用的對(duì)象實(shí)體去調(diào)用對(duì)應(yīng)的方法。

6、多態(tài)性:

可以將一個(gè)繼承類對(duì)象賦予到其基類數(shù)據(jù)類型變量中,此時(shí)對(duì)此基類對(duì)象變量進(jìn)行操作,將反映出繼承類對(duì)象的特性。

7、類的封裝:

A、類的所有成員數(shù)據(jù)變量只能由該類本身的方法代碼所訪問(wèn),屬于私有性質(zhì)。

B、在繼承類中可以以“類名.方法名”的方式指定訪問(wèn)基礎(chǔ)類中的方法。

C、只有標(biāo)記為“公開(kāi)”的方法才能在類代碼外部通過(guò)該類的對(duì)象實(shí)體來(lái)訪問(wèn)。

易語(yǔ)言的“類”

組件實(shí)現(xiàn)

構(gòu)造

誕生

“_初始化”

創(chuàng)建完畢

析構(gòu)

死亡

“_銷毀”方法

將被銷毀

繼承

父子有共性

“基類”與派生類,父類與子類

重用組件

虛擬方法

也有特性

同名同姓

也有特性

更改屬性方式事件

多態(tài)

多種能力

雙胞姓

對(duì)象變量的多態(tài)性

函數(shù)的多態(tài)性

實(shí)現(xiàn)功能不一樣

組件名可一樣

封裝

私有財(cái)產(chǎn)

通訊地址

公開(kāi)身份

成員數(shù)據(jù)

指定訪問(wèn)

公開(kāi)方法

子程序變量

指定組件訪問(wèn)

少重載

類指針

操作符

事件

總結(jié)

以上是生活随笔為你收集整理的易语言java类_易语言面对对象编程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。