iMAG移动应用快速开发平台简介
2013-12-03 18:02
274 查看
在Ruby中,我们可以把一个模块混入(Mixin)到对象中,从而达到类似多重继承的效果。
下面举几个例子来仔细阐述一下这个问题:
首先定义一个Module:
module Foo
def bar
puts "foo";
end
end
然后我们把这个模块混入到对象中去:
class Demo
include Foo
end
如上编码后,模块中的实例方法就会被混入到对象中:
d=Demo.new
d.bar
会输出foo字样。
下面我们重新定义一下Demo类:
class Demo
extend Foo
end
这个时候如果你得到的就是静态调用:
Demo.bar
会输出foo字样。
下面我们再来重新定义一下Demo类:
class Demo
def bar
puts "demo"
end
end
然后使用extend方法调用:
d=Demo.new
d.extend(Foo)
d.bar
会输出foo字样。
下面我们再来重新定义一下Demo类:
class Demo
include Foo
def bar
puts "demo"
end
end
然后使用extend方法调用:
d=Demo.new
d.extend(Foo)
d.bar
会输出demo字样。
其中的味道,自己慢慢体会吧。
下面举几个例子来仔细阐述一下这个问题:
首先定义一个Module:
module Foo
def bar
puts "foo";
end
end
然后我们把这个模块混入到对象中去:
class Demo
include Foo
end
如上编码后,模块中的实例方法就会被混入到对象中:
d=Demo.new
d.bar
会输出foo字样。
下面我们重新定义一下Demo类:
class Demo
extend Foo
end
这个时候如果你得到的就是静态调用:
Demo.bar
会输出foo字样。
下面我们再来重新定义一下Demo类:
class Demo
def bar
puts "demo"
end
end
然后使用extend方法调用:
d=Demo.new
d.extend(Foo)
d.bar
会输出foo字样。
下面我们再来重新定义一下Demo类:
class Demo
include Foo
def bar
puts "demo"
end
end
然后使用extend方法调用:
d=Demo.new
d.extend(Foo)
d.bar
会输出demo字样。
其中的味道,自己慢慢体会吧。
相关文章推荐
- 应用之星移动应用快速开发平台概述
- 移动设备的应用开发平台——J2ME(简介)
- 正在融资中的快速移动应用开发平台
- G4Studio行业应用二次快速开发平台简介 支持开源软件
- 开源框架PhoneGap,跨平台移动应用的快速开发平台
- .Net语言 APP开发平台——Smobiler学习日志:快速实现应用中的图片、声音等文件上传功能
- 快速开发平台与移动CRM
- 调研某一移动应用/平台的开发环境的发展演变
- Silverlight企业应用快速开发平台框架设计(一)目标
- OpenJWeb(1.6) Java Web应用快速开发平台技术白皮书
- JSaaS 企业应用快速开发平台–支持分支机构
- 企业级移动应用生成平台开发(一)
- REDCAT 数据库应用软件快速开发平台
- PhoneGap:免费开源的 HTML5 移动应用开发平台
- openjweb1.8 java web应用快速开发平台产品白皮书
- 使用Xamarin.Forms平台开发移动应用指南
- Phonegap:快速开发跨平台HTML5应用的胶水层
- 【快速敏捷移动应用开发】跨平台开发:PhoneGap移动开发框架
- OpenJWeb(1.8) Java Web应用快速开发平台
- 2013.08 2013 Gartner 关于移动应用开发平台的MQ报告