Ruby基础_类和模块
来源:互联网 发布:visio 2013 for mac 编辑:程序博客网 时间:2024/06/01 07:42
类
1.定义类
class Classname
类体
end
类名首字母大写
2.类体的内容
3.扩展一个类(为一个已有的类增加方法)
class String
def func
方法体
end
end
4.类的继承
class 类名< 父类名
类体
end
5.alias 和 undef
alias 别名 原名#方法设置别名,在重定义方法名是用到
undef 方法名 #删除已有方法
6.单例类和单例方法
class << 类名 ~ end 这样形式定义的类称为单例类
单例类中的方法属于特定的对象
str1 = "ruby"
str2 = "Ruby"
class << str1
def hello
"Hello,#{self}"
end
end
定以后只有str1有hello方法
7.批量定义单例方法 extend关键字
让单例类包含模块,将模块中的多个方法扩展到一个特定对象中;
对象.extend(模块名)#扩展后的对象包含模块中的所有方法
8.extend和include
在类中include module 和extend module的区别;
include:将模块中的方法当作类的实例方法添加到类中;
extend: 将模块中的方法当作类方法添加进来;
9.include和extend的应用场景
include:包含模块,类中包含模块(作实例方法添加),或者模块中添加模块
extend:包含模块,类中包含模块(作类方法),或者将模块扩展到类中;
模块
1. 模块的功能:
提供独立的命名空间,不同模块中同名方法变量不冲突;
MIX-IN,将模块混合到类中
2. 创建模块
module 模块名
模块体
end
3.模块体的内容
方法,常量
模块中的方法徐娅被外部访问,要 module_function : 方法名
4.包含模块
include modulename
同一个弄快包含多次后面的被忽略
5. 方法查找顺序
本类中查找---模块中查找---父类中查找;
模块中先从最后包含的模块中查找;
1 0
- Ruby基础_类和模块
- ruby 类和模块
- ruby 类和模块
- ruby入门_模块
- Ruby基础_方法
- Ruby类和模块的关系
- Ruby学习笔记(08)_模块Module
- ruby入门_类
- Ruby 类与模块
- Ruby学习笔记(02)_类和对象
- Ruby快速入门(四):类和模块
- Ruby基础教程(三)——类和模块
- python基础七_模块
- python基础-对象_类反射、模块反射
- ruby入门_特殊类
- ruby入门_类方法
- ruby入门_类变量
- ruby模块的概念、定义和使用
- [AngularJS系列(4)] 那伤不起的provider们啊~ (Provider, Value, Constant, Service, Factory, Decorator)
- 简单dp
- Spring学习笔记之bean和BeanFactory
- 各种加密算法比较
- 线程的创建和启动
- Ruby基础_类和模块
- C程序 大数组:段错误 (核心已转储)
- Eclipse 工程迁移到 AS 遇到的一些问题
- shell数字转换成IP
- 树
- 【Unity编程】欧拉角与万向节死锁(图文版)
- 初次尝试HTTPS
- 常见Oracle中"HINT"的30个用法
- 廖雪峰python教程阅读之输入和输出