在Ruby中,继承是通过class
关键字创建的子类来实现的。要设置访问权限,可以使用private
、protected
和public
关键字。这些关键字决定了类成员(包括方法、变量等)的可见性。
public
:默认的访问权限。从父类继承的方法和属性在子类中也是公共的,可以在任何地方访问。
class Parent def public_method puts "This is a public method." end end class Child < Parent # 子类可以访问父类的public方法 public_method end
protected
:受保护的方法和属性只能在子类中访问,而不能在类的外部访问。
class Parent def protected_method puts "This is a protected method." end end class Child < Parent # 子类可以访问父类的protected方法 protected_method end
private
:私有方法和属性只能在定义它们的类中访问,不能在子类或类的外部访问。
class Parent def private_method puts "This is a private method." end end class Child < Parent # 子类不能访问父类的private方法 end
注意:继承自父类的实例方法默认为public
,而实例变量默认为private
。如果要在子类中覆盖父类的方法,可以使用super
关键字调用父类的方法。