婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Ruby中的public、private、protected區別小結

Ruby中的public、private、protected區別小結

熱門標簽:中牟外呼系統違法嗎 巫師3地圖標注魔力之所 漯河電銷 柯城手機地圖如何做地圖標注 外呼線路從哪里出來的 征服者企業地圖標注 AI電銷機器人 線路 淮安自動外呼系統供應商 天津外呼系統怎么收費

重點關注private與protected

public

默認即為public,全局都可以訪問,這個不解釋

private

C++, “private” 意為 “private to this class”, 但是Ruby中意為 “private to this instance”.
意思是:C++中,對于類A,只要能訪問類A,就能訪問A的對象的private方法。
Ruby中,卻不行:你只能在你本對象的實例中訪問本對象的private方法。
因為Ruby的原則是“private意為你不能指定方法接收者”,接收者只能是self,且self必須省略!
所以Ruby中子類可以訪問父類的private方法。但self.private_method是錯的。

protected

可以在本類或子類中訪問,不能在其它類中訪問。

測試代碼(public均可訪問,代碼略)

class A
 def test
  protected_mth
  private_mth
 
  self.protected_mth
  #self.private_mth   #wrong
 
  obj = B.new
  obj.protected_mth
  #obj.private_mth    #wrong
 end
 
 protected
 def protected_mth
  puts "#{self.class}-protected"
 end
 
 private
 def private_mth
  puts "#{self.class}-private"
 end
end
 
class B  A
 def test
  protected_mth
  private_mth
 
  self.protected_mth
  #self.private_mth   #wrong
 
  obj = B.new
  obj.protected_mth
  #obj.private_mth    #wrong
 end
end
 
class C
 def test
  a = A.new
  #a.protected_mth     #wrong
  #a.private_mth      #wrong
 end
end
 
A.new.test
B.new.test
C.new.test


注:ruby的訪問控制不同于java,沒有包的區別。
其它包中的類只要引用目標類,和目標類同包下類訪問控制規則相同。

您可能感興趣的文章:
  • asp.net 修飾符介紹(關于public、private、protected、internal)
  • 深入理解C++中public、protected及private用法
  • C++中的三種繼承public,protected,private詳細解析
  • 淺析php面向對象public private protected 訪問修飾符
  • JS中的public和private對象,即static修飾符
  • C++友元(Friend)用法實例簡介
  • C++中的friend友元函數詳細解析
  • 概述C++中的 public protected private friend關鍵字的用法

標簽:大慶 棗莊 河池 克拉瑪依 西雙版納 甘孜 南昌 內江

巨人網絡通訊聲明:本文標題《Ruby中的public、private、protected區別小結》,本文關鍵詞  Ruby,中的,public,private,protected,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ruby中的public、private、protected區別小結》相關的同類信息!
  • 本頁收集關于Ruby中的public、private、protected區別小結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 杨浦区| 开原市| 稷山县| 郑州市| 刚察县| 高清| 宁津县| 邛崃市| 建始县| 沧州市| 伊川县| 梅州市| 日照市| 石台县| 武功县| 信宜市| 赣州市| 吐鲁番市| 都安| 宁乡县| 大足县| 洪湖市| 西宁市| 灵川县| 丹江口市| 大化| 肃北| 商丘市| 依安县| 永和县| 秦安县| 浦城县| 玉山县| 蓝山县| 太保市| 永平县| 颍上县| 卢湾区| 逊克县| 武清区| 桐梓县|