ivaneeo's blog

自由的力量,自由的生活。

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
class Song
    include Comparable   ##includeextend有什么不同?

                                     ##include负责将module插入到类(模块)中,这样就能以函数的形式来调用方法;而extend负责将module插入到对象(实例)中,这样就添加了特殊方法。

    @@plays = 0            ##类变量,必须初始化
    attr_reader :name, :artist, :duration   ##分别为@name,@artist,@duration设置可读的属性
    attr_writer :duration                           ##对@duration设置可写的属性

   
    def initialize(name, artist, duration)
@name = name
@artist = artist
@duration = duration

@plays = 0 ##对象变量
end

def to_s
"Song: #@name--#@artist (#@duration)"
end

def name ##函数式的公开所有变量
@name
end
def artist
@artist
end
def duration
@duration
end


posted on 2006-09-12 16:33 ivaneeo 阅读(321) 评论(0)  编辑  收藏 所属分类: ruby-宝石也锋芒

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问