今天我們繼續來看看,甚麼是 Private?
相對於public,
不可以直接存取,
class Cat
private
def eat
puts "eating..."
end
end
kitty = Cat.new
kitty.eat #錯誤訊息
也不能有明確的接收者,
因此在呼叫方法時不能有.小數點
class Cat
def do_eat
eat #沒有接收者
end
private
def eat
puts "eating..."
end
end
kitty = Cat.new
kitty.do_eat
不過在ruby的世界裡,
還可以用send方法來呼叫成功喔!
class Cat
private
def eat
puts "eating..."
end
end
kitty = Cat.new
kitty.send(:eat)
有沒有覺得在ruby的世界,
好像很多規矩都可以被打破呢?
Ruby
private