請考慮一下**
class test
private
def self.test
puts 'arst'
enddef test
puts 'arst'
endclass << self
def test2
puts 'arst'
endprivate
def test3
puts 'arst'
endend
endtest.test
test.test2
begin
test.test3
rescue standarderror => e
p eend
begin
test.new.test
rescue standarderror => e
p eend
結果為
arst
arst
##>
類方法test.test
是不受作用域修飾符private
影響的,可能原因在於self.
的宣告方式其實只是class<
作用域與成員函式
作用域與成員函式 在基類和派生類中使用同一名字的成員函式,其行為與資料成員一樣 在派生類作用域中派生類成員將遮蔽基類成員。即使函式原型不同,基類成員也會被遮蔽。class base class child public base child c child cout 區域性作用域中宣告的函式不會過載...
原創 Javascript類成員的作用域
一 類的私有方法中訪問類屬性 1 私有方法訪問私有變數 這種訪問沒有什麼限制,因為都是私有,作用域相同。function class1 showname 2 私有方法訪問類普通屬性 function class1 showname 可以看到在類中定義了乙個 this變數,其表示每個新建立的物件的例項...
類的作用域
更多c 類的基本概念 每個類都會定義它自己的作用域。在類的作用域外,普通的資料和函式成員只能由物件 引用或者指標使用成員訪問運算子來訪問。對於類型別成員則使用作用域運算子訪問。不論哪種情況,跟在運算子之後的名字都必須是對應類的成員。作用域和定義在類外部的成員 乙個類就是乙個作用域很好地解釋為什麼當我...