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

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

Ruby面向?qū)ο缶幊淘斀?/h1>
2019-10-26 19:23:59
字體:
供稿:網(wǎng)友

Ruby是純面向?qū)ο蟮恼Z言,所有項目似乎要Ruby中為一個對象。Ruby中的每個值是一個對象,即使是最原始的東西:字符串,數(shù)字甚至true和false。即使是一個類本身是一個對象,它是Class類的一個實例。本章將通過所有功能涉及到Ruby的面向?qū)ο蟆?/p>

類是用來指定對象的形式,它結(jié)合了數(shù)據(jù)表示和方法操縱這些數(shù)據(jù),轉(zhuǎn)換成一個整齊的包。在一個類的數(shù)據(jù)和方法,被稱為類的成員。

Ruby類的定義:

定義一個類,定義的數(shù)據(jù)類型的草圖。 這實際上并不定義任何數(shù)據(jù),但它定義的類名字的意思什么,即是什么類的對象將包括這樣一個對象上執(zhí)行什么操作可以。

類定義開始與關(guān)鍵字class類名和 end 分隔。例如,我們定義Box類使用class關(guān)鍵字如下:
代碼如下:
class Box
   code
end

名稱必須以大寫字母開始,按照約定名稱中包含多個單詞,每個單詞沒有分隔符(駝峰式)一起執(zhí)行。

定義Ruby的對象:

類為對象的藍圖,所以基本上是一個從一個類對象被創(chuàng)建。我們聲明一個類的對象使用new關(guān)鍵字。下面的語句聲明了兩個對象,Box 類:
代碼如下:
box1 = Box.new
box2 = Box.new

initialize方法:

initialize方法是一個標準的Ruby類的方法,和其它面向?qū)ο缶幊陶Z言的構(gòu)造方法有相同的方式工作。 initialize方法是有用的,在創(chuàng)建對象的時候,一些類變量初始化。這種方法可能需要的參數(shù)列表,它像其他Ruby之前的方法用def關(guān)鍵字定義,如下所示:
代碼如下:
class Box
   def initialize(w,h)
      @width, @height = w, h
   end
end

實例變量:

實例變量是類的一種屬性,一旦我們使用的類對象被創(chuàng)建的對象的屬性。每個對象的屬性被分別賦值的并與其它對象共享,它們在類的內(nèi)部使用@操作符訪問,但訪問類之外的,我們使用的公共方法被稱為訪問器方法。如果我們把上述定義的類 Box,然后 @width 和 @height 類 Box實例變量。
代碼如下:
class Box
   def initialize(w,h)
      # assign instance avriables
      @width, @height = w, h
   end
end

訪問器和setter方法​​:

為了外部能訪問類的變量,它們必須定義存取器方法,這些存取器方法也被稱為getter方法。下面的例子演示了如何使用訪問器方法:
代碼如下:
#!/usr/bin/ruby -w

# define a class
class Box
   # constructor method
   def initialize(w,h)
      @width, @height = w, h
   end

   # accessor methods

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

主站蜘蛛池模板: 永福县| 东明县| 肥东县| 龙泉市| 黔西| 东光县| 阿克苏市| 华安县| 武冈市| 平昌县| 大余县| 五常市| 罗山县| 芒康县| 盐亭县| 梓潼县| 盐山县| 尉氏县| 万源市| 黑山县| 平武县| 含山县| 错那县| 盘锦市| 明光市| 临桂县| 内江市| 滕州市| 大化| 会宁县| 天津市| 枝江市| 庆安县| 安图县| 海口市| 依兰县| 彰武县| 乌兰浩特市| 农安县| 威宁| 久治县|