【问题标题】:Difference between using instance variables vs 'attr_reader' [duplicate]使用实例变量与'attr_reader'之间的区别[重复]
【发布时间】:2023-03-25 16:51:01
【问题描述】:

使用@namename(带有attr_reader)有什么区别?他们使用不同的路径方式:@name 是直接的,而name 使用一种方法到达@name。但除此之外,还有什么不同吗?结果是一样的。

【问题讨论】:

    标签: ruby instance-variables accessor


    【解决方案1】:

    但除此之外还有什么不同,因为结果是一样的。

    除此之外?不多。只是attr_reader 为您提供了一个方法(如您所知),因此您可以对方法执行所有操作:公开/私有、装饰、在子类中覆盖、从模块中包含等等。

    哦,而且实例变量也更难从类外部访问。这就是为什么 attr_reader 和相关的助手首先存在的原因(以便在公共方法中轻松包装 ivars)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-24
      • 1970-01-01
      • 2017-02-15
      • 2015-07-29
      • 2014-02-07
      • 2016-03-22
      相关资源
      最近更新 更多