Ruby程式設計中的靜態成員
Ruby中的靜態成員是透過類宣告的。由於Ruby沒有提供像static這樣的保留關鍵字,當我們使用類變數時,我們建立了一個靜態變數,然後我們可以宣告該類的某個方法,其中該靜態變數也定義為靜態方法。
在Ruby中,有兩種實現static關鍵字的方法:
靜態變數
靜態方法
在這篇文章中,我們將探討這兩種實現,首先,我們將探討如何宣告靜態變數的程式碼示例,然後我們將看到如何宣告靜態方法。
靜態變數
要宣告靜態變數,我們只需要宣告一個類變數,它將充當靜態變數,因為它對於類的所有例項都是通用的。簡單來說,當我們談論Ruby時,靜態變數是使用類變數宣告的。
當我們宣告一個變數為靜態時,將為其分配空間,直到程式的整個生命週期。
需要注意的是,靜態變數的名稱總是以@@符號開頭。
示例1
考慮下面顯示的程式碼,我們在其中宣告一個靜態變數。
class Coders
# static class variable
@@coders_count = 0
def initialize
@@coders_count += 1
puts "Number of Coders = #{@@coders_count}"
end
end
# creating objects of class Coders
a = Coders.new
b = Coders.new
c = Coders.new
d = Coders.new
e = Coders.new輸出
它將產生以下輸出:
Number of Coders = 1 Number of Coders = 2 Number of Coders = 3 Number of Coders = 4 Number of Coders = 5
在上面的程式碼中,我們有一個名為Coders的類,其中有一個名為coder_count的類變數。這個coder_count變數可以被我們建立的所有Coders類物件共享,因此充當靜態變數。
靜態方法
當我們在類中定義一個對類的所有例項都通用的方法時,我們可以稱之為靜態方法。
示例2
考慮下面顯示的程式碼
class Coders
@@coders_count = 0
def incrementCoder
@@coders_count += 1
end
def self.getCount
return @@coders_count
end
end
# creating objects of class Coders
a = Coders.new
a.incrementCoder()
b = Coders.new
b.incrementCoder()
c = Coders.new
c.incrementCoder()
# calling class method
puts "Total Number of Coders = #{Coders.getCount()}"輸出
它將生成以下輸出:
Total Number of Coders are = 3
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP