?
?
對(duì)象:?
ruby是面向?qū)ο蟮恼Z(yǔ)言,至于對(duì)象,可以用來(lái)表示任何東西,對(duì)于我們的腳本系統(tǒng),任何東西指的是系統(tǒng)提供的任何可以稱之為對(duì)象的東西,這樣的概念很混亂,但總之,記得對(duì)象可以表示任何東西。
像整數(shù)是Integer對(duì)象,浮點(diǎn)數(shù)是Float對(duì)象,文字是String對(duì)象,1..10是Range對(duì)象,所有的對(duì)象都是屬于類的,或者說(shuō)所有的對(duì)象都是由類所產(chǎn)生的。
類:
類和對(duì)象的關(guān)系,就像是哲學(xué)上著名的意識(shí)與物質(zhì)的關(guān)系一樣。類不是真正存在的,而對(duì)象是。類只不過(guò)是對(duì)某種東西的描述或者規(guī)劃,而實(shí)現(xiàn)了這種描述的就是對(duì)象,也叫做類的實(shí)例。所以,有時(shí)也把聲明對(duì)象叫做類的實(shí)例化。
RGSS參考中列出了所有的類的詳細(xì)文檔。
RGSS參考的翻譯將放在《RGSS中級(jí)教程》。(夏克注)
類的屬性和方法:
屬性其實(shí)就是類中的一些公共變量,可以被其它類訪問(wèn)到。
方法其實(shí)就是類中的一些公共函數(shù),可以被其它類訪問(wèn)到。
例如:
a?=?"Ruby"
p?a.size?#?=>?4?
這返回a的長(zhǎng)度,也是字符數(shù)。
再一個(gè)試看看!把文字都轉(zhuǎn)換為大寫。
a?=?"Ruby"
p?a.upcase?#?=>?"RUBY"?
如果是下面的代碼:
a?=?3?
p?a.upcase?#?ERROR!!
?
發(fā)生了錯(cuò)誤,因?yàn)閍是integer整數(shù)對(duì)象,或者說(shuō)是integer類的,這個(gè)類沒(méi)有upcase方法可以執(zhí)行。
類的繼承:
在RGSS參考中看一下Fixnum類,它處在Integer類的子類中,而Integer處在Numeric子類中,而Numeric處在Object類中。我們把上一級(jí)類叫做父類,父類的下一級(jí)叫做子類。子類是由父類衍生出來(lái)的,所以子類繼承了父類的某些屬性和方法。
例如,F(xiàn)ixnum就繼承了Integer的chr方法。我們觀察RGSS參考中的Fixnum一檔,它的屬性和方法少得可憐,但I(xiàn)nteger所有的屬性和方法,F(xiàn)ixnum都繼承了過(guò)來(lái)。
版權(quán)聲明:RUBY文檔中心的所有文章標(biāo)明[原創(chuàng)]的均為本站作品,版權(quán)屬RUBY中文化計(jì)劃,若轉(zhuǎn)載請(qǐng)注明;標(biāo)明[翻譯]的其外文版權(quán)歸原作者,譯文版權(quán)屬RUBY中文化計(jì)劃;標(biāo)明[轉(zhuǎn)貼]的,若原作者感到侵犯了他的著作權(quán),那么請(qǐng)及時(shí)跟主持人聯(lián)系,我們會(huì)盡快更正。
?