佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 淺析Ruby中的類對象的概念

淺析Ruby中的類對象的概念

熱門標簽:呼叫中心市場需求 企業(yè)做大做強 百度AI接口 電話運營中心 Win7旗艦版 硅谷的囚徒呼叫中心 語音系統(tǒng) 客戶服務(wù)

 面向?qū)ο蟮某绦蛏婕邦惡蛯ο蟆?一個類是藍本,從個別對象被創(chuàng)建。在面向?qū)ο蟮男g(shù)語,我們說小明的自行車是被稱為自行車類的對象實例。

任何車輛的例子。它包括輪子,馬力,燃油或燃氣罐容量。這些特點形成的類車輛的數(shù)據(jù)成員??梢詮钠渌囕v區(qū)分這些特征。

車輛也有一定的功能,如停止,駕駛,超速駕駛。即使這些功能形成的類車輛的數(shù)據(jù)成員。因此,可以定義一個類作為一個組合的特點和功能。

車輛類可以被定義為:

Class Vehicle
{
  Number no_of_wheels
  Number horsepower
  Characters type_of_tank
  Number Capacity
  Function speeding
  {
  }
  Function driving
  {
  }
  Function halting
  {
  }
}

通過這些數(shù)據(jù)成員分配不同的值,可以形成類車輛的幾個實例。例如,飛機的有三個輪子,1,000馬力,不同的燃料罐及容量為100升。同樣的方式,一輛汽車有四個輪子,200馬力,氣體作為不同的罐及容量25升。
Ruby中定義一個類:

要通過使用Ruby實現(xiàn)面向?qū)ο缶幊?,需要先學(xué)習(xí)如何創(chuàng)建對象和Ruby中的類。

Ruby中一個類總是以關(guān)鍵字class類的名稱開頭。名稱應(yīng)始終以首字母大寫。如以是Customer類可以顯示為:

class Customer
end

類定義結(jié)束通過使用關(guān)鍵字end結(jié)束。在類的所有數(shù)據(jù)成員是類之間的定義,并以end關(guān)鍵字作為結(jié)束符。
Ruby類中的變量:

Ruby提供了四種類型的變量:

    局部變量: 局部變量是在一個方法中定義的變量。局部變量是不可用的方法外。更多細節(jié)在隨后的章節(jié)中的方法中會介紹。局部變量一般以小寫字母或_開頭。

    實例變量: 實例變量是可跨越任何特定實例或?qū)ο蟮姆椒?。這意味著,從對象到對象的實例變量改變。實例變量前面加上at符號(@),跟著變量名。

    類變量:類變量是可在各種不同的對象。 一個類變量屬于類,是類的一個特點。他們前面的符號@@跟著的變量名。

    全局變量: 類變量是不能跨類。如果想要一個單一的變量可以跨類,需要定義一個全局變量。全局變量的前面總是用美元符號($)。

例子:

使用類變量@@no_of_customers,能確定創(chuàng)建的對象的數(shù)量。這使得導(dǎo)出的客戶數(shù)量。

class Customer
  @@no_of_customers=0
end

Ruby中使用new方法創(chuàng)建對象:
對象是類的實例。現(xiàn)在,將學(xué)習(xí)如何在Ruby中創(chuàng)建對象一個類對象。Ruby中通過使用new方法創(chuàng)建對象。
new方法是一種獨特的方法,這是預(yù)定義在Ruby庫。new方法屬于類的方法。
下面的例子是創(chuàng)建兩個對象類客戶cust1 和 cust2:

cust1 = Customer. new
cust2 = Customer. new

在這里,cust1和cust2是兩個對象的名字。在等于號(=)之后,類名稱將按照對象名稱。然后,點運算符和關(guān)鍵字new在后面。
自定義方法來創(chuàng)建Ruby對象 :

可以通過new方法的參數(shù),這些參數(shù)可以用來初始化類變量。

當打算聲明的new方法具有參數(shù),需要聲明的方法在創(chuàng)建類的時候初始化。

initialize方法是一種特殊類型的方法,該方法時將執(zhí)行new方法的類被稱為參數(shù)。

下面的例子是創(chuàng)建initialize方法:

class Customer
  @@no_of_customers=0
  def initialize(id, name, addr)
   @cust_id=id
   @cust_name=name
   @cust_addr=addr
  end
end

在這個例子中,可以聲明局部變量的初始化方法id, name和addr。這里def 結(jié)束被用來定義一個Ruby的??方法初始化。這些將在有關(guān)后續(xù)章節(jié)中了解更多。

在initialize方法中,對這些局部變量的值傳遞到實例變量@cust_id,@cust_name和@cust_addr。這里的局部變量持有的值由new方法一同傳遞。

現(xiàn)在可以創(chuàng)建對象,如下所示:

cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya")
cust2=Customer.new("2", "Poul", "New Empire road, Khandala")

Ruby中類的成員函數(shù):

在Ruby中,函數(shù)被調(diào)用的方法。在一個類中的每個方法的方法名用關(guān)鍵字def開始。

方法名總是以小寫字母最好。你最終的方法Ruby中通過使用關(guān)鍵字end表示結(jié)束。

下面的例子是定義一個Ruby的方法:

cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya")
cust2=Customer.new("2", "Poul", "New Empire road, Khandala")

這里statement1和statement2為函數(shù)體的一部分。這些statments可以是任何有效的Ruby語句。例如,我們可以在方法中打印Hello Ruby如下:

class Sample
  def hello
   puts "Hello Ruby!"
  end
end

現(xiàn)在,在下面的例子Sample類創(chuàng)建一個對象,并調(diào)用hello方法,看到的結(jié)果:

#!/usr/bin/ruby

class Sample
  def hello
   puts "Hello Ruby!"
  end
end

# Now using above class to create objects
object = Sample. new
object.hello

這將產(chǎn)生以下結(jié)果:

Hello Ruby!

您可能感興趣的文章:
  • 在Ruby on Rails中優(yōu)化ActiveRecord的方法
  • Ruby on Rails中MVC結(jié)構(gòu)的數(shù)據(jù)傳遞解析
  • 在Ruby on Rails中使用AJAX的教程

標簽:濟南 安康 長沙 海南 喀什 山西 崇左 山西

巨人網(wǎng)絡(luò)通訊聲明:本文標題《淺析Ruby中的類對象的概念》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    惠东县| 寿宁县| 贵港市| 健康| 乌鲁木齐市| 太和县| 望奎县| 定边县| 依安县| 平凉市| 金门县| 罗城| 休宁县| 永平县| 铜山县| 原阳县| 象州县| 旬阳县| 霍山县| 内黄县| 理塘县| 老河口市| 汉源县| 阳西县| 巴东县| 兴化市| 无为县| 扎兰屯市| 安达市| 安塞县| 罗山县| 阿鲁科尔沁旗| 利川市| 社会| 临颍县| 定兴县| 历史| 余江县| 慈利县| 龙川县| 梓潼县|