在Ruby中,可以通过访问控制来限制谁可以调用方法。Ruby提供了三种访问控制修饰符:public、protected和private。
下面是一个示例代码,展示如何在Ruby中限制谁可以调用方法:
class MyClass
def public_method
puts "This is a public method"
end
protected
def protected_method
puts "This is a protected method"
end
private
def private_method
puts "This is a private method"
end
end
obj = MyClass.new
obj.public_method # 可以调用公共方法
obj.protected_method # 无法从外部调用受保护的方法
obj.private_method # 无法从外部调用私有方法
在上面的示例中,public_method
是一个公共方法,可以被任何对象调用。protected_method
是一个受保护的方法,只能在类内部或其子类中被调用。private_method
是一个私有方法,只能在类内部被调用。
需要注意的是,访问控制修饰符只对方法起作用,对于变量或属性没有直接的访问控制。但是可以通过定义公共方法来间接访问私有变量或属性。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云