在Ruby中,要让一个类中只有一个方法是公共的,可以使用以下方式:
class MyClass
def self.public_method
# 这是公共方法
end
private
def private_method
# 这是私有方法
end
protected
def protected_method
# 这是受保护方法
end
end
在上面的例子中,public_method
是一个公共方法,可以通过MyClass.public_method
调用。private_method
和protected_method
分别是私有方法和受保护方法,它们只能在类内部被调用,不能从外部直接调用。
module PublicMethods
def public_method
# 这是公共方法
end
end
class MyClass
include PublicMethods
private
def private_method
# 这是私有方法
end
protected
def protected_method
# 这是受保护方法
end
end
在这个例子中,public_method
是一个公共方法,可以通过类的实例调用。private_method
和protected_method
是私有方法和受保护方法,不能从外部直接调用。
值得注意的是,Ruby是一种灵活的语言,没有强制限制方法的访问权限。上述的方式只是一种常用的约定,可以帮助开发人员更好地组织代码并控制方法的访问范围。
领取专属 10元无门槛券
手把手带您无忧上云