一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - 易語言 - 易語言中簡化了類的創(chuàng)建與使用,使得面對對象編程更簡單

易語言中簡化了類的創(chuàng)建與使用,使得面對對象編程更簡單

2021-06-18 15:43易語言幫助手冊 易語言

今天小編就為大家分享一篇關于易語言中簡化了類的創(chuàng)建與使用,使得面對對象編程更簡單,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

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

1.類的插入

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

對象(Object)是類(Class)的一個實例(Instance)。如果將對象比作房子,那么類就是房子的設計圖紙。所以面向對象程序設計的重點是類的設計,而不是對象的設計。

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

易語言中簡化了類的創(chuàng)建與使用,使得面對對象編程更簡單

2.對象的構造和析構

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

_初始化()”方法在基于該類的對象被創(chuàng)建后,會被自動調(diào)用,該方法的功能相當于構造函數(shù);“_銷毀()”方法,在基于該類的對象被銷毀前,會被自動調(diào)用,該方法的功能相當于析構函數(shù)。在其他面向對象編程語言中,構造和析構函數(shù)是需要程序員自己創(chuàng)建的,易語言中簡化了這個過程。

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

而對象的構造和析構的過程是自動的,構造順序為:先構造基類對象,再構造其繼承類對象,如果類中具有對象成員,則先于其所處對象構造;析構順序為:先析構繼承類對象,再析構基類對象,如果類中具有對象成員,則在其所處對象后析構。

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

3.類的封裝

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

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

易語言中簡化了類的創(chuàng)建與使用,使得面對對象編程更簡單

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

類的封裝包含以下幾個方面:

  • (1)類的所有成員數(shù)據(jù)變量只能由該類本身的方法代碼所訪問,屬于私有性質(zhì)。
  • (2)在繼承類中可以以“類名.方法名”的方式指定訪問基礎類中的方法。
  • (3)只有標記為“公開”的方法才能在類代碼外部通過該類的對象實體來訪問。

4.類的繼承性

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

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

易語言中簡化了類的創(chuàng)建與使用,使得面對對象編程更簡單

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

下面用在畫板中畫各種圖形的例程,來進一步說明類繼承性。

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

易語言中簡化了類的創(chuàng)建與使用,使得面對對象編程更簡單

易語言中簡化了類的創(chuàng)建與使用,使得面對對象編程更簡單

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

易語言中簡化了類的創(chuàng)建與使用,使得面對對象編程更簡單

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

易語言中簡化了類的創(chuàng)建與使用,使得面對對象編程更簡單

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

注意:

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

易語言中簡化了類的創(chuàng)建與使用,使得面對對象編程更簡單

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

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

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

易語言中簡化了類的創(chuàng)建與使用,使得面對對象編程更簡單

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

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

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

6.虛擬方法

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

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

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

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

例程中,當按下鼠標并移動,則在畫板中跟隨鼠標移動來畫出所選圖形,當鼠標被松開,就在畫板中確定畫出指定圖形,代碼如下:

易語言中簡化了類的創(chuàng)建與使用,使得面對對象編程更簡單

易語言中簡化了類的創(chuàng)建與使用,使得面對對象編程更簡單

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

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

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

2、對象的構造:

構造順序為:先構造基類對象,再構造其繼承類對象,如果類中具有對象成員,則先于其所處對象構造。

3、對象的析構:

析構順序為:先析構繼承類對象,再析構基類對象,如果類中具有對象成員,則在其所處對象后析構。

4、繼承:

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

5、虛擬方法:

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

6、多態(tài)性:

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

7、類的封裝:

  • A、類的所有成員數(shù)據(jù)變量只能由該類本身的方法代碼所訪問,屬于私有性質(zhì)。
  • B、在繼承類中可以以“類名.方法名”的方式指定訪問基礎類中的方法。
  • C、只有標記為“公開”的方法才能在類代碼外部通過該類的對象實體來訪問。

易語言中簡化了類的創(chuàng)建與使用,使得面對對象編程更簡單

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對我們的支持。如果你想了解更多相關內(nèi)容請查看下面相關鏈接

延伸 · 閱讀

精彩推薦
  • 易語言易語言獲取指定磁盤的名稱

    易語言獲取指定磁盤的名稱

    今天小編就為大家分享一篇關于易語言獲取指定磁盤的名稱,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來...

    易語言幫助手冊12662022-01-04
  • 易語言易語言關于程序進程和線程的基礎知識

    易語言關于程序進程和線程的基礎知識

    今天小編就為大家分享一篇關于易語言關于程序進程和線程的基礎知識,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起...

    三葉資源網(wǎng)6662022-02-24
  • 易語言易語言設置進度條邊框樣式的方法

    易語言設置進度條邊框樣式的方法

    今天小編就為大家分享一篇關于易語言設置進度條邊框樣式的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨...

    易語言幫助手冊4422022-01-20
  • 易語言易語言生成exe文件的方法

    易語言生成exe文件的方法

    在本篇內(nèi)容中小編給大家分享的是關于易語言生成exe文件的方法知識點,需要的朋友們參考下。...

    易語言教程網(wǎng)14792022-03-01
  • 易語言一步一步跟我學易語言之關于變量

    一步一步跟我學易語言之關于變量

    今天小編就為大家分享一篇關于一步一步跟我學易語言之關于變量,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨...

    易語言幫助手冊10822021-06-17
  • 易語言實例操作易語言載入窗口

    實例操作易語言載入窗口

    在本文中小編給大家整理的是關于易語言載入窗口的教程和步驟內(nèi)容,需要的可以跟著學習下...

    易語言教程網(wǎng)19162022-03-02
  • 易語言易語言在畫板中寫出指定文本當畫板中已滿會自動滾屏

    易語言在畫板中寫出指定文本當畫板中已滿會自動滾屏

    今天小編就為大家分享一篇關于易語言在畫板中寫出指定文本當畫板中已滿會自動滾屏,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,...

    易語言幫助手冊9092022-01-12
  • 易語言一步一步跟我學易語言之第二個易程序菜單設計

    一步一步跟我學易語言之第二個易程序菜單設計

    今天小編就為大家分享一篇關于的一步一步跟我學易語言之第二個易程序菜單設計,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要...

    易語言幫助手冊7092021-06-17
主站蜘蛛池模板: www在线视频在线播放 | 日韩欧美在线视频一区二区 | 国产福利专区精品视频 | 日本免费的一级绿象 | 亚洲国产天堂综合一区 | 国产caoni555在线观看 | 久久精品热只有精品 | 新影音先锋男人色资源网 | 91污污视频 | 免费xxxxx大片在线观看影视 | 女同久久另类99精品国产 | 久久精品动漫99精品动漫 | 黄+色+性+人免费 | 成人福利免费在线观看 | 网站在线播放 | 激情小说欧美图片 | 好大好硬好紧太深了受不了 | 亚洲精品乱码久久久久久蜜桃 | 亚洲国产在线视频精品 | av毛片在线看 | 日本性生活免费看 | 日本乱人伦中文在线播放 | 国产a免费观看 | 日产国产精品亚洲系列 | 国产在线一区二区视频 | 爱草视频 | 日本视频免费在线 | 国产免费小视频 | 无耻三级在线观看 | 精品久久久久久无码人妻国产馆 | 日韩精品一区二区三区老鸭窝 | 亚洲国产欧美日韩在线一区 | 亚洲春黄在线观看 | 国产片在线看 | 91在线免费看 | 国产实拍会所女技师在线 | 国语视频高清在线观看 | 色天天色综合 | 国内精品久久久久久久 | 亚洲精品一二三四区 | chinese男男gayxxx chinese老头和老太交hd |