溫馨提示×

Ruby繼承機(jī)制如何設(shè)置訪問權(quán)限

小樊
81
2024-11-06 07:26:40
欄目: 編程語言

在Ruby中,繼承是通過class關(guān)鍵字創(chuàng)建的子類來實現(xiàn)的。要設(shè)置訪問權(quán)限,可以使用private、protectedpublic關(guān)鍵字。這些關(guān)鍵字決定了類成員(包括方法、變量等)的可見性。

  1. public:默認(rèn)的訪問權(quán)限。從父類繼承的方法和屬性在子類中也是公共的,可以在任何地方訪問。
class Parent
  def public_method
    puts "This is a public method."
  end
end

class Child < Parent
  # 子類可以訪問父類的public方法
  public_method
end
  1. protected:受保護(hù)的方法和屬性只能在子類中訪問,而不能在類的外部訪問。
class Parent
  def protected_method
    puts "This is a protected method."
  end
end

class Child < Parent
  # 子類可以訪問父類的protected方法
  protected_method
end
  1. private:私有方法和屬性只能在定義它們的類中訪問,不能在子類或類的外部訪問。
class Parent
  def private_method
    puts "This is a private method."
  end
end

class Child < Parent
  # 子類不能訪問父類的private方法
end

注意:繼承自父類的實例方法默認(rèn)為public,而實例變量默認(rèn)為private。如果要在子類中覆蓋父類的方法,可以使用super關(guān)鍵字調(diào)用父類的方法。

0