一步一步學Ruby 十二 Ruby類

2021-08-23 15:00:23 字數 2189 閱讀 1109

一、類的定義、類的例項方法

二、特定物件的方法

在ruby裡,我們可以為乙個物件單獨定義方法

三、重定義方法

從下面**可以看出,後面的定義會覆蓋前面的定義

四、重新開啟類

ruby裡我們可以再開啟乙個類,向這類新增方法,有點像c#裡的分部類,但不用加特別標記.

我們一般不要拆開類的定義,因為那樣不好理解,拆開類的乙個原因是將它們分散到多個檔案裡。

五、例項變數

這個前面有說過,這裡補充一下

例項變數主要是用來記錄單個物件的狀態。ruby的例項變數有以下特點

六、初始化物件狀態

類似其它語言的建構函式

七、更好的屬性讀寫,=號的威力

上面我們可以看到可以用多種方法對屬性都寫操作,但最熟悉和方便的,還是向其它語言一樣,對屬性直接賦值,然後讀取

語法糖語法糖就是指特別的規則,不符合常規的寫法,ruby提供了呼叫寫方法的語法糖,當直譯器看到age = 時,會忽略等號前面的空格,並且單引數的方法是可以省略括號,所以也可以這樣

因為有了=的威力,我們可以在賦值時做自己的處理,有點像.net裡的

八、自動生成屬性的讀寫操作attr_*

如果每個簡單的屬性都像上面那樣定義,是一件很繁瑣的事情,還好ruby提供了自動生成讀寫操作的方法,看下表

方法名效果例子等價的**

attr_reader

讀方法attr_reader  :age

def age

@age

endattr_writer

寫方法attr_writer :price

def age= (age)

@age=age

endattr_accessor

產生讀寫方法

att_accessor :age

def age

@age

enddef age= (age)

@age=age

endattr

產生讀方法和可選的寫方法(如果第二個引數是true)

1. attr :age

2. attr :age, true

1. 參見attr_reader

2. 參見attr_accessor

九、類方法

類是特殊的物件,是唯一可以建立新物件的一類物件

定義是,在方法前加上類名

類方法有兩種呼叫方式: 

十、繼承

ruby裡用 < 實現繼承

一步一步學Ruby 十二 Ruby類

一 類的定義 類的例項方法 二 特定物件的方法 在ruby裡,我們可以為乙個物件單獨定義方法 三 重定義方法 從下面 可以看出,後面的定義會覆蓋前面的定義 四 重新開啟類 ruby裡我們可以再開啟乙個類,向這類新增方法,有點像c 裡的分部類,但不用加特別標記.我們一般不要拆開類的定義,因為那樣不好理...

一步一步學Ruby 一 Ruby介紹

文章摘要 ruby是如何來的 ruby 的發明者松本行弘 yukihiro matz matsumoto,混合了他喜歡的語言 perl smalltalk eiffel ada 和 lisp 產生了一種具有函式式及指令程式設計特性的新語言。他常說,他是 試著讓 ruby 更自然,而不是簡單,就像生活...

一步一步學Ruby 一 Ruby介紹

文章摘要 ruby是如何來的 ruby 的發明者松本行弘 yukihiro matz matsumoto,混合了他喜歡的語言 perl smalltalk eiffel ada 和 lisp 產生了一種具有函式式及指令程式設計特性的新語言。他常說,他是 試著讓 ruby 更自然,而不是簡單,就像生活...