Ruby模块与类
2024-08-24 19:16:28
Ruby是单一继承,一个类只能有一个直接的母类
Mix-in 模式来处理复合需求
多重包含: 由下往上回溯,重复的只看最上方的
换句话说,程序由上往下执行,由具体到抽象,第二次发现同一个模块就无视
类定义
class class-name
...
end
注: 实例变量开头@
类变量开头@@
包含模块用
include module-name
include module-name
attr_reader, attr_writer, attr_accessor
查看是否包括模块: class-name.include?(module-name)
直接母类
class-name.superclass()
class-name.superclass()
所有祖先
class-name.ancestors()
class-name.ancestors()
类方法(静态方法):
class
<< class-name
<< class-name
def func-name
...
end
end
或者
def
class-name.func-name
class-name.func-name
...
end
-----------------------------------------------------------------------------
模块定义
module module-name
...
end
注: 不能直接包含数据(外部无法直接获取)
-----------------------------------------------------------------------------
继承关系(inheritance)
如果类包含了模块,则模块作为”母类“,在真实”母类“后面
母类------模块------当前类
class class-name < supclass-name
最新文章
- 转-HttpClient4.3 连接管理
- java 将数据写进文件
- yum源使用(转)
- 存储过程返回布尔值以及C#相关处理
- sudo权限添加 和 rpm、deb之名词解释
- linux系统下搭建php环境之-Discuz论坛
- handler机制和异步更新UI页面
- 第6章 适配器模式(Adapter Pattern)
- 谷歌安装器扫描时提示“需要root权限”,不用root也可以的!
- CSS之 relative 特性
- [4.14校内训练赛by hzwer]
- Yii2.0源码阅读-PHP如何与redis通信?
- Django框架详细介绍---AJAX
- c#实现识别图片上的验证码数字
- noip宝藏
- 用VSCode写Vue要用到的配置
- php测试mysql数据库连通性并且在浏览器每一秒输出一次结果
- java工程师学习计划
- ML(1)——机器学习简述
- Android让文本输入框默认不获取焦点