ruby定义类以及getter setter方法

#ruby demo1 define class
class A
    def initialize(name)
      @name=name;#定义成员变量
      @age=3
    end
    def talk
      puts @name+":"[email protected]_s;#age是数值fixNum类型,所以要调用to_s(toString7)方法
      
    end
    attr_writer:age;#setter 方法
    attr_reader:age;#getter方法;
    attr_accessor:age #getter setter都有
  end
   ap=A.new("hello");#创建对象
   #puts(ap.age);
    puts( ap.age=234);#调用setter方法
    
    puts(ap.age=32323);

    ap.talk

 

initialize 是初始化方法,相当于 Java  的构造器。参数age 有一个缺省值 3,

     可以在任何方法内使用缺省参数,而不仅仅是initialize。如果有缺省参数,参数表必

     须以有缺省值的参数结尾。

attr_writer :age相当于                    attr_ reader :age相当于

def age=(value)                         def age

  return @age=value                     return @age

end                                            end

         这就是我们熟悉的getter            和 setter  方法的简写形式。你不熟悉也不重要。

         attr_accessor :age相当于attr_reader:age;  attr_writer :age

 

你可能感兴趣的:(Ruby)