RUBY的类封装,继承,多态简单演示
2014-04-30 15:05
232 查看
class Person def initialize(name,age=18) @name=name @age=age @motherland="China" end def talk puts "my name is " +@name+",age is "+@age.to_s if @motherland == "China" puts "I am a China." else puts "I am a foreigner." end end attr_writer:motherland end p1=Person.new("Kaichuan",20) p1.talk p2=Person.new("Ben") p2.motherland="ABC" p2.talk class Student < Person def talk puts "I am a student. my name is " +@name+",age is " +@age.to_s end end p3=Student.new("Chengang","25"); p3.talk p4=Student.new("Ben"); p4.talk class Worker < Person def talk puts "I am a worker. my name is " +@name +",age is " + @age.to_s end end p5=Worker.new("Hiong",30) p5.talk p6=Worker.new("Ben") p6.talk class Person def initialize(name,age=18) @name=name @age=age @motherland="China" end def talk puts "my name is " +@name+",age is "+@age.to_s if @motherland == "China" puts "I am a China." else puts "I am a foreigner." end end attr_writer:motherland end p1=Person.new("Kaichuan",20) p1.talk p2=Person.new("Ben") p2.motherland="ABC" p2.talk class Student < Person def talk puts "I am a student. my name is " +@name+",age is " +@age.to_s end end p3=Student.new("Chengang","25"); p3.talk p4=Student.new("Ben"); p4.talk class Worker < Person def talk puts "I am a worker. my name is " +@name +",age is " + @age.to_s end end p5=Worker.new("Hiong",30) p5.talk p6=Worker.new("Ben") p6.talk
>ruby hello.rb
my name is Kaichuan,age is 20
I am a China.
my name is Ben,age is 18
I am a foreigner.
I am a student. my name is Chengang,age is 25
I am a student. my name is Ben,age is 18
I am a worker. my name is Hiong,age is 30
I am a worker. my name is Ben,age is 18
>Exit code: 0
相关文章推荐
- RUBY类特性
- RUBY,玩玩~~~
- Ruby编程规约
- Ruby on Rails: 给button_to添加图标
- Ruby:Mechanize的使用教程
- 强大的ruby,居然给我报死锁
- Ruby on Rails:控制器纵览
- Ruby:多线程队列(Queue)下载博客文章到本地
- ruby开发过程中的小总结
- Ruby On Rails 4 hello world,Ruby On Rails上手
- ahjesus ubuntu10.4安装ruby2.1.1
- Ruby:线程实现经典的生产者消费者问题
- ruby 取字符串中与正则表达式匹配的值
- Ruby 101:动态编程
- Ruby define_method def 的区别
- 基于Ruby的元编程技术
- Ruby class_eval(module_eval)现形记
- Understanding Ruby Singleton Classes
- ruby的class << self, 及其class_eval和instance_eval的区别
- 【ruby】ruby 动态方法总结