it编程 > 前端脚本 > Ruby

简单谈谈Ruby的private和protected

162人参与 2024-05-19 Ruby

下面这段程序让我纠结了很久,ruby中private的概念真的很奇怪。。。

为什么不加self的话,private也可以调用父类的方法呢?

原来在ruby中,private和java或者其他语言不一样,子类也可以调用,只是不能指定调用者。

翻了下《the ruby way》,书上说:

private:类和子类都能调用,但是private方法不能指定调用者,默认为self。
protected:类和子类都能调用,可以指定调用者。

这就解释了为什么上面的代码中,用self调用会出错,而不加self就能正确执行。

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

ruby中的双等号==问题详解

05-19

借助RubyGnome2库进行GTK下的Ruby GUI编程的基本方法

05-19

Ruby里4种比较函数(equal?, eql?, ==, ===)详解

05-19

Ruby在cmd下中文显示乱码以及不支持OpenSSL的问题解决

05-19

Ruby on Rails在Ping ++ 平台实现支付

05-19

Ruby程序中创建和解析XML文件的方法

05-19

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论