#ruby demo1 define class
class A
def initialize(name)
@name=name;#定义成员变量
@age=3
end
def talk
puts @name+":"+@age.to_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