Ruby类与模块入门:从简单类的定义开始
1. Ruby面向对象基础
Ruby是一种纯粹的面向对象编程语言,在Ruby中,每个值都是(或至少表现得像)一个对象。每个对象都是某个类的实例,类定义了对象能响应的一组方法。类可以扩展或继承其他类,继承或重写其父类的方法,还能包含模块中的方法。
Ruby对象严格封装,对象的状态只能通过其定义的方法访问,实例变量不能从对象外部直接访问。不过,可以定义访问器方法来直接访问对象状态,这种访问器方法对被称为属性,与实例变量不同。类定义的方法有“公共”、“受保护”或“私有”三种可见性,这会影响方法的调用方式和位置。
与对象状态的严格封装不同,Ruby的类非常开放,任何Ruby程序都可以向现有类添加方法,甚至可以为单个对象添加“单例方法”。
2. 定义简单类:以Point类为例
我们将通过定义一个名为 Point 的类来表示具有X和Y坐标的几何点,逐步介绍如何定义类、创建实例、编写初始化方法、添加属性访问器方法、定义运算符等。
2.1 创建类
在Ruby中,使用 class 关键字创建类:
class Point
end
类定义以 end 结束。 class 关键字不仅定义了一个新类,还创建了一个常量来引用该类,类名和常量名相同,所以类名必须以大写字母开头。在类体中,且在类定义的任何实例方法之外, self
超级会员免费看
订阅专栏 解锁全文
13

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



