国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

ruby 存取器 概念

2019-10-26 19:22:02
字體:
供稿:網(wǎng)友

 什么是一個(gè)存取器?

我們在前面已經(jīng)討論過實(shí)變量了,但卻未過多的討論.一個(gè)對象的實(shí)變量屬于它的屬性,也是它與其它來自同一個(gè)類的對象的一般區(qū)別.讀寫它的屬性是重要的;這樣做需要做一個(gè)叫著屬性存取器(attribute accessors)的方法.我們將很快看到我們并不是總要明確地寫出存取器方法,但現(xiàn)在先讓我們了解所有的細(xì)節(jié).存取器的兩種類型是寫(writer)和讀(reader).

ruby> class Fruit
    |   def set_kind(k)  # a writer
    |     @kind = k
    |   end
    |   def get_kind     # a reader
    |     @kind
    |   end
    | end
   nil
ruby> f1 = Fruit.new
   #<Fruit:0xfd7e7c8c>
ruby> f1.set_kind("peach")  # use the writer
   "peach"
ruby> f1.get_kind           # use the reader
   "peach"
ruby> f1                    # inspect the object
   #<Fruit:0xfd7e7c8c @kind="peach">  


足夠簡單;我們可以存取關(guān)于我們搜索的水果種類的信息.但我們的方法名還有點(diǎn)兒牢騷.下面的這個(gè)更簡潔,也更方便.

ruby> class Fruit
    |   def kind=(k)
    |     @kind = k
    |   end
    |   def kind
    |     @kind
    |   end
    | end
   nil
ruby> f2 = Fruit.new
   #<Fruit:0xfd7e7c8c>
ruby> f2.kind = "banana"
   "banana"
ruby> f2.kind
   "banana"  


inspect方法

一個(gè)小插曲.你已注意到當(dāng)我們試著直接觀察一個(gè)對象,就會出現(xiàn)一些像 #<anObject: 0x83678> 的東西.這只是個(gè)缺省的行為,我們可以自由地改變它.我們所要做的只是加一個(gè)名為 inspect 的方法.它會換一個(gè)更明了的描述對象的字符串,包括部分或全部的實(shí)變量.

ruby> class Fruit
    |   def inspect
    |     "a fruit of the " + @kind + " variety"

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 合阳县| 新龙县| 定西市| 柳江县| 辉南县| 宝兴县| 牟定县| 剑阁县| 彭泽县| 宜兴市| 江西省| 临安市| 墨江| 镇巴县| 桃江县| 浦江县| 香格里拉县| 富宁县| 张北县| 华坪县| 金秀| 青田县| 如皋市| 洛南县| 井研县| 崇左市| 湘乡市| 沙洋县| 临颍县| 霍林郭勒市| 韶山市| 武乡县| 白银市| 瓦房店市| 永定县| 广平县| 吴江市| 双辽市| 基隆市| 温宿县| 曲靖市|