162人参与 • 2024-05-19 • Ruby
下面这段程序让我纠结了很久,ruby中private的概念真的很奇怪。。。
为什么不加self的话,private也可以调用父类的方法呢?
原来在ruby中,private和java或者其他语言不一样,子类也可以调用,只是不能指定调用者。
翻了下《the ruby way》,书上说:
private:类和子类都能调用,但是private方法不能指定调用者,默认为self。
protected:类和子类都能调用,可以指定调用者。
这就解释了为什么上面的代码中,用self调用会出错,而不加self就能正确执行。
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论