麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Ruby > 正文

為你介紹Ruby中的類對象

2020-02-24 15:36:08
字體:
來源:轉載
供稿:網友

我們在使用Ruby的時候面向對象的程序涉及類和對象,但是有許多小伙伴們對于Ruby中的類對象不是非常了解的,那么我們現在就讓武林小編為你介紹Ruby中的類對象。

?面向對象的程序涉及類和對象。 一個類是藍本,從個別對象被創建。在面向對象的術語,我們說小明的自行車是被稱為自行車類的對象實例。

任何車輛的例子。它包括輪子,馬力,燃油或燃氣罐容量。這些特點形成的類車輛的數據成員。可以從其他車輛區分這些特征。

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

車輛類可以被定義為:

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

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

要通過使用Ruby實現面向對象編程,需要先學習如何創建對象和Ruby中的類。

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

class Customerend

類定義結束通過使用關鍵字end結束。在類的所有數據成員是類之間的定義,并以end關鍵字作為結束符。
Ruby類中的變量:

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

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

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

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

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

例子:

使用類變量@@no_of_customers,能確定創建的對象的數量。這使得導出的客戶數量。

class Customer  @@no_of_customers=0end

Ruby中使用new方法創建對象:
對象是類的實例。現在,將學習如何在Ruby中創建對象一個類對象。Ruby中通過使用new方法創建對象。
new方法是一種獨特的方法,這是預定義在Ruby庫。new方法屬于類的方法。
下面的例子是創建兩個對象類客戶cust1 和 cust2:

cust1 = Customer. newcust2 = Customer. new

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

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

當打算聲明的new方法具有參數,需要聲明的方法在創建類的時候初始化。

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

下面的例子是創建initialize方法:

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

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

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

現在可以創建對象,如下所示:

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

Ruby中類的成員函數:

在Ruby中,函數被調用的方法。在一個類中的每個方法的方法名用關鍵字def開始。

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

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

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

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

class Sample  def hello   puts "Hello Ruby!"  endend

現在,在下面的例子Sample類創建一個對象,并調用hello方法,看到的結果:

#!/usr/bin/rubyclass Sample  def hello   puts "Hello Ruby!"  endend# Now using above class to create objectsobject = Sample. newobject.hello

這將產生以下結果:

Hello Ruby!

以上內容就是小編為你介紹Ruby中的類對象的內容,其實還有很多很多,這里就不一一列舉出來了,還有這里的代碼可能不全面,有問題的話大家可以留言交流。

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

圖片精選

主站蜘蛛池模板: 久草干| 国产毛片自拍 | 色屁屁xxxxⅹ在线视频 | 一区二区三区欧美在线 | 久久精品视频亚洲 | 国产午夜精品一区二区三区在线观看 | 91精品国产777在线观看 | 国产亚洲精品久久久久久网站 | 一级网站| 亚洲情在线 | 欧美一级特黄aaaaaaa什 | 99999久久久久久 | 在线天堂中文在线资源网 | 国产一级免费在线视频 | 久草手机在线观看视频 | 龙床上的呻吟高h | 中国老女人一级毛片视频 | 狠狠干导航 | 一级大黄毛片 | 国产成人精品一区二区仙踪林 | 中文字幕极速在线观看 | 日本一道aⅴ不卡免费播放 久久久久久久高清 | 超碰97在线人人 | 久久撸视频 | 日日噜噜噜夜夜狠狠久久蜜桃 | 成人三级在线播放 | 欧美性生活免费视频 | 国产精品久久久免费观看 | 亚洲免费资源 | 爽成人777777婷婷 | 88xx成人永久免费观看 | 久草在线视频网 | a黄在线观看 | 成年人国产视频 | 成人激情在线 | 黄污网址| 欧美一级免费高清 | 色99久久 | 欧美精品久久久久久久久久 | 亚洲第一综合色 | 欧美性黄 |