简单的Ruby 类
原创
©著作权归作者所有:来自51CTO博客作者mapaware的原创作品,请联系作者获取转载授权,否则将追究法律责任
简单的Ruby 类
建立下面的脚本文件,命名为C:\animals.rb,使用notepad++,选择格式为以UTF-8无BOM格式编码保存:
#模块声明, 类似于名称空间
module Animals
class Animal
# 类的默认构造函数
def initialize(name, species)
@name=name
@species=species
end
#getter for name attribute
def name
@name
end
#setter for name attribute
def name=(nameVal)
@name=nameVal
end
#getter for species attribute
def species
@species
end
#setter for species attribute
def species=(speciesVal)
@species=speciesVal
end
end
# 类DogAnimal继承自Animal
class DogAnimal < Animal
def initialize(voice)
super("Dog", "mammal")
@voice = voice
end
#getter for voice attribute
def voice
@voice
end
#setter for voice attribute
def voice=(voiceVal)
@voice=voiceVal
end
end
end #module Animals
cat = Animals::Animal.new("Cat", "mammal");
dog = Animals::DogAnimal.new("WangWang");
3.times{
print cat.name + " is a " + cat.species + "\n"
print dog.name + "'s voice is: " + dog.voice + "\n"
}
=begin
#ruby命令行运行脚本
ruby c:\animals.rb
结果显示:
Cat is a mammal
Dog's voice is WangWang
Cat is a mammal
Dog's voice is WangWang
Cat is a mammal
Dog's voice is WangWang
=end