Pages

2008/10/27

Ruby アクセスレベル

initializeメソッドを除き、クラス内のメソッド等はpublicである。
通常、宣言は省略されているが、明示的に宣言することもできる。

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)

Related Posts Plugin for WordPress, Blogger...