【发布时间】:2014-04-26 00:23:18
【问题描述】:
我想知道 Ruby 中 private 和 protected 之间的区别,那里有很多来源,但他们通常只告诉我私有方法不能被继承,但有很多不同的方式。
class Person
private
def hello
puts "hello"
end
end
class Student < Person
def initialize
hello
end
end
leo = Student.new
但是这个非常简单的例子证明了这种说法是错误的,私有方法被继承和使用。此外,如果我在这里将“私人”更改为“受保护”,它仍然会给我“你好”,同时创建 leo 变量。那么公共和受保护的情况如何?
【问题讨论】:
-
@BroiSatse 我已经添加了这本书的链接,当然如果你不介意的话:)
-
@afurm - 我为什么要这样做,这不是我的书。 :)
-
Ruby 文档:ruby-doc.org/core-2.1.1/doc/syntax/….
-
开个玩笑 - 我为什么要,这不是我的书。 :-) ROFL..
标签: ruby protected access-modifiers private-methods