轉載自:www.66rpg.com
原作者:Dubealex
Near Fantastica(特別講)
主講人(翻譯):frantice 電子書製作:小湖
第十講 Inheritance專題
在學習loop之後我們學習inheritance. 什麼是inheritance 呢? 用中文講是 「傳承」, 我們可以用一個類來」繼承」另一個類的方法和數據(變量).互相」繼承」的類分別叫」父類」和」子類」,也就是」超級類」(superclass)和」附屬類」(subclass).我們看下例子: 例1: class Inheritance_Sample_1 def initialize @a_local_variable=1 end end
class Inheritance_Sample_2 < Inheritance_Sample_1 def initialize super print @a_local_variable end end 測試一下, 插入腳本後在事件腳本里寫: Inheritance_Sample_2.new
看到效果吧^0^. 這是怎麼做到的呢? 這就是類的繼承.我們在一個類名右邊寫上< 號,再在右邊寫上它的超級類(父類)的名字 . 這個例子中"Inheritance_Sample_2" 是附屬類 而"Inheritance_Sample_1" 是超級類.通俗地說也就是我們可以從Inheritance_Sample_1這個父類里拿出東西來給Inheritance_Sample_2用. 我們在"Inheritance_Sample_2"這個類里初始化方法下可以找到一個」super」它是做什麼的? 它其實就是簡單地執行在超級類中定義過的,並且有名字相同的方法.我們看下程序是如何運行的: [接收 .new 命令] -執行Inheritance_Sample_2中的初始化方法 -發現一個關鍵詞"super" -->檢查它的超級類,在Inheritance_Sample_1 中找到了 - 執行在超級類Inheritance_Sample_1 中定義的方法 --> 初始化方法@a_local_variable=1 - 程序在Inheritance_Sample_2 中繼續執行這個初始化方法 --> @a_local_variable等於 1 - 在屏幕上顯示 @a_local_variable -結束
|