
來源 http://jozefkrajcovic.sk/
Ruby 是一個完全物件導向程式語言,不管是字串、整數等,都是類別的物件。
在物件導向內,類別 (class)主要有方法 (method) 等組成,藉由呼叫方法來改變物件的狀態,Ruby 對方法的存取控制分為三個不同的層級,名稱與其他物件導向程式語言一樣,有 public、protected、private。
Public、Protected、Private 存取控制
在 Ruby 這三個存取控制層級與其他語言有不同之處,從其他語言跳到 Ruby 可能會忽略掉。
- public 可以被任何人直接存取,例如:類別的物件可以呼叫 public 方法,預設所有的方法為 public,除了
#initialize
方法為 private - protected 層級比 public 小,只有相同類別或子類別內,才能存取 protected 方法
- private 不能有明確的 receiver 呼叫 private 方法,表示 private 方法只能在物件內被呼叫
還是以下藉由程式來說明會更清楚!