您好,登錄后才能下訂單哦!
首先,我們通過一個實例來觀察類變量與類方法:
- class Square
- def initialize
- @@number_of_squares = define?(@@number_of_squares) ? @@number_of_squares + 1 : 1
- end
- def self.test_method
- puts "Hello from the Square class!"
- end
- def test_method
- puts "Hello from an instance of class Square!"
- end
上面的代碼中,number_of_squares用來記錄類Square的實例個數(shù),是類變量,它與對象變量的區(qū)別是,前面用兩個@符號來標記。Square類中,第一個test_method是類方法,它與對象方法的區(qū)別是,它用self.前綴標示。這里self表示當前類,因此self.test_method定義的方法專用于該類。
如果我們學過Java或C++,會發(fā)現(xiàn)類變量其實與Java或C++中的靜態(tài)變量類似,而類方法與Java或C++中的靜態(tài)方法類似。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。