1
我想在ruby中使用類變量。但是類變量在整個層次結構中都會發生變化,因此對於此目標無用:Ruby靜態繼承
假設我有3個類,每個類都是繼承的,除了父類。
class A
end
class B < A
end
class C < B
end
我將如何修改或創建中間類的靜態變量,以便類A沒有它,但類C沒有。
B.num = 2
A.num # undefined or nil
C.num # 2
我也應該指定A.num應該仍然能夠使用,而無需改變B.num或C.num,除非它繼承。
爲什麼類變量「無用」?你的句子在邏輯上並不遵循。 – sawa
@sawa我不相信我的句子沒有流動。類B上的類變量也會更改類A上的類變量。它會改變父母和孩子。請查看此答案:http://stackoverflow.com/questions/1251352/ruby-inherit-code-that-works-with-class-variables?answertab=votes#tab-top –
您似乎沒有正確理解我的評論。我提到,類變量在層次結構中共享的事實並不導致您得出類變量無用的結論。我要求你聲稱類變量是無用的。 – sawa