在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
关键字调用父类的方法。