Ruby语言 (三)
来源:互联网 发布:网络流行语2014 编辑:程序博客网 时间:2024/06/06 08:41
#=> class more #继承怎么实现: class LittleBird < Bird def initialize name super(name) end end #特殊属性访问控制: attr_reader :name attr_writer :sex #=> module #interface怎么写: #ruby没有interface,只有比interface更强大的module与mixin机制 #=> module #"有逻辑实现的interface": module Eat def eat p "i can eat" end end module Sleep def sleep p "i can sleep" end end class Pig include Eat include Sleep end Pig.new.eat Pig.new.sleep #=> module constants # module constants访问: module Math PI = 3.14 end Math::PI #=> module more # module namespace: module Foo module Bar def self.say p "Hi" end end end Foo::Bar.say # another module namespace: module Foo class Bar def say p "Hi" end end end Foo::Bar.new.say #=> module singleton # module的特殊用法singleton: module Item extend self def name p "i'm item" end end Item.name #=> ruby more # monkey patch: class Fixnum def plus n self + n end end 1.plus 3