Можно ли изменить видимость метода?
чт, 02/08/2007 - 20:11 — spine
Видимость методов меняется с помощью private, protected и public. Будучи употреблены без параметров, они меняют видимость последующих методов. С параметрами они меняют видимость указанных методов:
class Foo
def test
print "hello
"
end
private :test
end
def test
print "hello
"
end
private :test
end
foo = Foo.new
foo.test #=> error: test is private
Метод класса можно сделать private с помощью using private_class_method:
class Foo
def Foo.test
print "hello
"
end
private_class_method :test
end
def Foo.test
print "hello
"
end
private_class_method :test
end
Foo.test #=> error: Foo.test is private
Видимость метода по умолчанию - это public. Исключением является метод инициализации объекта initialize. Методы, определенные вне класса - public.
