Ruby 类与模块:构建面向对象编程基础
1. Ruby 面向对象编程概述
Ruby 是一种纯粹的面向对象编程语言,在 Ruby 中,每个值都是一个对象(或至少表现得像一个对象)。每个对象都是某个类的实例,类定义了对象可以响应的一组方法。类可以扩展或继承其他类,继承或重写其父类的方法,还可以包含模块或从模块继承方法。
Ruby 的对象具有严格的封装性,对象的状态只能通过其定义的方法来访问,实例变量不能从对象外部直接访问。不过,可以定义访问器方法(getter 和 setter),这些方法对看起来像是直接访问对象状态,它们被称为属性,与实例变量不同。类定义的方法可以有“公共”、“受保护”或“私有”的可见性,这会影响它们的调用方式和位置。
与对象状态的严格封装不同,Ruby 的类非常开放,任何 Ruby 程序都可以向现有类添加方法,甚至可以为单个对象添加“单例方法”。
2. 定义一个简单的类
2.1 创建类
在 Ruby 中,使用 class 关键字来创建类,示例如下:
class Point
end
和大多数 Ruby 结构一样,类定义以 end 结束。 class 关键字除了定义一个新类之外,还会创建一个新的常量来引用该类,类名和常量名相同,因此所有类名必须以大写字母开头。
在类的主体内部,但在类定义的任何实例方法之外, self 关键字引用的是正在定义的类。
超级会员免费看
订阅专栏 解锁全文
270

被折叠的 条评论
为什么被折叠?



