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)

このブログの人気の投稿

コピーした行の挿入が表示されない時はフィルタされていないかチェック

Excel で一部の図形だけ固定する