#模块声明, 类似于名称空间 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