Ruby是动态语言,允许随时更改类定义,如我们在定义一个类时,该类已经存在,则此时的定义是对先前类的追加,而不是重新定义.
class
Apple
def show
puts " 一个苹果 "
end
end
a = Apple. new ()
a.show
class Apple
#为Apple类追加一个test方法
def test
puts " 口感不错 "
end
end
a = Apple. new ()
a.show
a.test
def show
puts " 一个苹果 "
end
end
a = Apple. new ()
a.show
class Apple
#为Apple类追加一个test方法
def test
puts " 口感不错 "
end
end
a = Apple. new ()
a.show
a.test
使用特殊类定义为某个对像追加方法和变量.
class
<<
a
def name
puts " 富士 "
end
end
a.show
a.name
def name
puts " 富士 "
end
end
a.show
a.name
使用特殊类定义为a对象追加了个name方法后,a就可以调用name方法,但其它的Apple实例依然没有name方法.