亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Ruby公共私有保護

標簽:
Ruby

public private protected是定义在一个名为Module的类中的三个方法,限定了对方法的访问权限。

关键字模块类定义为作用域门,出现这三个关键词时会发生作用域切换。

默认情况下如果不声明,所有的方法都是public,在private或者受保护的后面都是私人或者受保护的方法。
同时也可以使用public:demo,private:demo,protected:demo的方式定义。

方法initialize方法是private only能被新方法调用

  1. private和protected方法不能在对象实例上直接调用

class Product
  def initialize(name)
      @name = name  end
  def show
     @name  end
  private    def sku
        (1..5).to_a.join    end
  protected    def color
       'red'
    endend

r_p1.png

  1. private不能指定接收器即使是自我能
    在方法中调用

  2. protected在方法内部调用
    在方法中调用时可以指定self
    在方法中相同类型的对象可以直接调用protected方法

  3. 在类的中类类的private protected可以被调用但是仍旧遵循上面的规则

(参考一)[ http://culttt.com/2015/06/03/the-difference-between-public-protected-and-private-methods-in-ruby/]
(参考二)[ http:// kaochenlong .COM / 2011/7月26日/公共保护和私有法-在-红宝石/]



作者:就叫初九吧
链接:https://www.jianshu.com/p/282ebd8f2be6

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消