查看完整版本: 开放的类与动态特性

rubyer 2008-3-4 15:27

开放的类与动态特性

[code]class Dotnet
def vb
   puts "vb"
end
end

a=Dotnet.new
a.vb # vb定义了,vb出现的时候,根本就没有csharp


class Dotnet
def csharp
   puts "csharp"
end  
end

a.csharp #csharp定义了
a.vb #vb依然存在


class Dotnet
  remove_method :vb
end

a.vb #vb已经被微软抛弃了(或许用qbasic比喻更恰当一点)[/code]

上面的过程是:打开一个已经存在的类,添加一个方法,最后删除掉不再需要的方法.

这个例子是ruby这个动态语言能够适应或者描述变化的一个例子.
现实世界是开放而动态变化的.ruby对此能够很好的描述这样的现实.

rails就利用了"开放的类"这个特点:您定义的类是开放的类,因此rails能够往你的类里面添加新的方法(根据你的需要)

澜宽育 2008-11-20 15:36

听过最搞笑的故事

[u][color=#282827]要说吐字不清,首推周杰伦,他一首歌里哼哼:“小贱人,小贱人,小贱人,小贱人,小贱人,小贱人……”我一听那个爽,也跟着唱,被女友痛骂后才知道,那兄唱的是“周杰伦,周杰伦,周杰伦……”还有管自己叫小贱人的?  [/color][/u]
[u][color=#282827][/color][/u]
[u][color=#282827]传奇外传私服  新开传奇外传私服  [/color][/u]
[u][color=#282827]最新传奇外传私服  今日开传奇外传私服[/color][/u]
[u][color=#282827][/color][/u][url=http://www.91sbk.cn/]http://www.91sbk.cn/[/url]
[color=#282827][/color][url=http://www.333chuanqi.cn/]http://www.333chuanqi.cn/[/url]
页: [1]
查看完整版本: 开放的类与动态特性