ruby是面向对象的脚本语言,几个字说明了它的最大的特性。但是既然作为面向对象的语言,面向的三个主要明显的特性:继承性,封装性,多态性。又是如何实现的呢?
脚本语言,现在的理解是对变量要求定义超级松懈很不严格,如变量可以不声明不赋初值直接使用,拿来即用(局部变量除外local variable),方法定义中的参数看作局部变量,如不声明直接使用,则会出现错误:
class Song
def initialize(artist,duration)
@name=name
@artist=artist
@duration=duration
end
end
song = Song.new("Bicylops","Fleck",260) name没有在方法initialize中声明,则会出错
注:initialize是一个特殊的方法,(我理解为类似于构造函数)
评论