本章内容理解:讲了Ruby对象模型,并且介绍了几种依赖于此模型的技术。
在Java和C#等语言中,直到你创建了该类的一个对象,然后调用对象的方法才会有实际的工作。
在Ruby中,类的定义有所不同。当使用class关键字时,并非是在指定对象未来的行为方式,相反,实际上是在运行代码。
Ruby对象模型介绍以及七条规则:
1.只有一种对象——要么是普通对象,要么是模块。
类就是对象,是class类的一个实例。类也是一个增强的模块,比模块多了new、allocate、superclass三个方法。
普通对象不可以使用new方法再建立一个实例,模块也是。
2.只有一种方法——它存在于一个模块中,通常是一个类中。
无论是类或模块的实例方法,类方法,都存在于类或模块中。单件方法比较特殊,但也存在于单件类中。
3.只有一种模块——可以是一个普通模块、一个类或者单件类
模块可以是普通模块,可以是一个类,即增强的模块。同时一个普通的模块无法被继承。