在Ruby中,繼承是通過class
關(guān)鍵字創(chuàng)建的子類來實現(xiàn)的。要設(shè)置訪問權(quán)限,可以使用private
、protected
和public
關(guān)鍵字。這些關(guān)鍵字決定了類成員(包括方法、變量等)的可見性。
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
protected
:受保護(hù)的方法和屬性只能在子類中訪問,而不能在類的外部訪問。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
注意:繼承自父類的實例方法默認(rèn)為public
,而實例變量默認(rèn)為private
。如果要在子類中覆蓋父類的方法,可以使用super
關(guān)鍵字調(diào)用父類的方法。