Ruby アクセスレベル
initializeメソッドを除き、クラス内のメソッド等はpublicである。
通常、宣言は省略されているが、明示的に宣言することもできる。
privateなアクセスレベルを与えたい時は明示的に宣言する。
通常、宣言は省略されているが、明示的に宣言することもできる。
class A
def hoge
puts "public Aクラスのhoge"
end
public :hoge
end
AA = A.new
AA.hoge
# 結果
# Aクラスのhoge(public)
privateなアクセスレベルを与えたい時は明示的に宣言する。
class A
def hoge
puts "Aクラスのhoge(public)"
end
public :hoge
def hoge2
puts "Aクラスのhoge2(private)"
end
private :hoge2
end
AA = A.new
AA.hoge
AA.hoge2
# 結果
# Aクラスのhoge(public)
# hoge2へはアクセスできない(private method `hoge2' called)