Ruby与PHP:对象属性、方法可见性、类型与模块应用解析
1. 对象属性与方法声明
在编程中,定义getter和setter方法往往会变得很繁琐。不过在Ruby中,我们可以使用一些特殊的类方法来动态添加这些方法。属性方法能让我们声明哪些实例变量可作为属性使用。
以下是一个示例代码:
class Book
attr_reader :title
attr_accessor :price
def initialize(title, price)
@title, @price = title, price
end
end
在上述代码中, attr_reader :title 方法声明替代了 title 的getter方法, attr_accessor :price 则替代了 @price 的getter和setter方法。此外,还有 attr_writer 方法,用于仅添加setter方法而不添加对应的getter方法。
2. 方法可见性
和PHP一样,Ruby的方法可以声明为公共(public)、受保护(protected)或私有(private)。在Ruby中,除非另有声明,所有方法默认都是公共的。而且,我们可以一次性声明多个方法的可见性。
以下是PHP和Ruby中方法可见性声明的示例代码对比:
PHP代码示例 </
超级会员免费看
订阅专栏 解锁全文
689

被折叠的 条评论
为什么被折叠?



