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

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

Ruby的面向?qū)ο缶幊痰幕A(chǔ)教程

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

Ruby 是純面向?qū)ο蟮恼Z言,Ruby 中的一切都是以對象的形式出現(xiàn)。Ruby 中的每個(gè)值都是一個(gè)對象,即使是最原始的東西:字符串、數(shù)字,甚至連 true 和 false 都是對象。類本身也是一個(gè)對象,是 Class 類的一個(gè)實(shí)例。本章將向您講解所有與 Ruby 面向?qū)ο笙嚓P(guān)的主要功能。

類用于指定對象的形式,它結(jié)合了數(shù)據(jù)表示法和方法,把數(shù)據(jù)整理成一個(gè)整齊的包。類中的數(shù)據(jù)和方法被稱為類的成員。
Ruby 類定義

當(dāng)您定義一個(gè)類時(shí),您實(shí)際是定義了一個(gè)數(shù)據(jù)類型的藍(lán)圖。這實(shí)際上并沒有定義任何的數(shù)據(jù),而是定義了類的名稱意味著什么,也就是說,定義了類的對象將由什么組成,以及在該對象上能執(zhí)行什么操作。

類定義以關(guān)鍵字 class 開始,后跟類名稱,最后以一個(gè) end 進(jìn)行分隔表示終止該類定義。例如,我們使用關(guān)鍵字 class 來定義 Box 類,如下所示:

class Box  codeend

按照慣例,名稱必須以大寫字母開頭,如果包含多個(gè)單詞,每個(gè)單詞首字母大寫,但此間沒有分隔符(例如:CamelCase)。
定義 Ruby 對象

類提供了對象的藍(lán)圖,所以基本上,對象是根據(jù)類進(jìn)行創(chuàng)建的。我們使用 new 關(guān)鍵字聲明類的對象。下面的語句聲明了類 Box 的兩個(gè)對象:

box1 = Box.newbox2 = Box.new

initialize 方法

initialize 方法是一個(gè)標(biāo)準(zhǔn)的 Ruby 類方法,與其他面向?qū)ο缶幊陶Z言中的 constructor 工作原理類似。當(dāng)您想要在創(chuàng)建對象的同時(shí)初始化一些類變量,initialize 方法就派上用場了。該方法帶有一系列參數(shù),與其他 Ruby 方法一樣,使用該方法時(shí),必須在前面放置 def 關(guān)鍵字,如下所示:

class Box  def initialize(w,h)   @width, @height = w, h  endend

實(shí)例變量

實(shí)例變量是類屬性,它們在使用類創(chuàng)建對象時(shí)就變成對象的屬性。每個(gè)對象的屬性是單獨(dú)賦值的,和其他對象之間不共享值。在類的內(nèi)部,是使用 @ 運(yùn)算符訪問這些屬性,在類的外部,則是使用稱為訪問器方法的公共方法進(jìn)行訪問。下面我們以上面定義的類 Box 為實(shí)例,把 @width 和 @height 作為類 Box 的實(shí)例變量。

class Box  def initialize(w,h)   # 給實(shí)例變量賦值   @width, @height = w, h  endend

訪問器 & 設(shè)置器 方法

為了在類的外部使用變量,我們必須在訪問器方法內(nèi)部定義這些變量,這些訪問器方法也被稱為獲取器方法。下面的實(shí)例演示了訪問器方法的用法:

#!/usr/bin/ruby -w # 定義類class Box  # 構(gòu)造器方法  def initialize(w,h)   @width, @height = w, h  end   # 訪問器方法  def printWidth   @width  end   def printHeight   @height  endend # 創(chuàng)建對象box = Box.new(10, 20) # 使用訪問器方法x = box.printWidth()y = box.printHeight() puts "Width of the box is : #{x}"puts "Height of the box is : #{y}"            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 会理县| 阳原县| 扶余县| 林甸县| 华亭县| 榕江县| 澳门| 嘉峪关市| 鄂尔多斯市| 尚志市| 南开区| 红原县| 抚顺县| 天等县| 武平县| 津南区| 杨浦区| 宁阳县| 惠水县| 聂荣县| 盐池县| 历史| 玉田县| 叙永县| 新郑市| 临安市| 凉城县| 静海县| 涪陵区| 永嘉县| 凤城市| 益阳市| 阳新县| 顺平县| 白朗县| 洛宁县| 罗城| 长治市| 香港| 革吉县| 内江市|