Ruby语法解释:attr_reader,attr_writer和attr_accessor

来源:互联网 发布:python 获取日期 编辑:程序博客网 时间:2024/05/17 03:27
Ruby语法解释:attr_reader,attr_writer和attr_accessor
标签: accessorrubyhp
2555人阅读 评论(1)收藏举报
本文章已收录于:
分类:
作者同类文章X
    attr_reader :abc

    你可以在对象的实例中用
    实例名.abc 得到这个变量的值,但不能修改,它相当于

    def abc
    return @abc
    end

    顺便说一下attr_writer和attr_accessor,它相当于

    attr_writer :abc
    def abc=(abc)
    @abc = abc
    end
    在这个情况下你不能通过实例名.abc获得abc的值,但是可以通过
    实例名.abc = 表达式 设置abc的值

    attr_accessor :abc
    等同于
    def abc
    return @abc
    end
    def abc=(abc)
    @abc = abc
    end

    你可以用实例名.abc获得,也可以用实例名.abc=值来设置

    有的时候,获得/设置并非简单的内部变量赋值,所以需要通过使用attr_reader和attr_writer来部分简化定义描述
    可以参见Game_Battler的
    attr_reader :hp

    def hp=(hp)
    两个方法



    0 0