- 论坛徽章:
- 0
|
[转帖]来源:Linux社区 作者:cheungmine
建立下面的脚本文件,命名为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
复制代码 |
|