Ruby语言是一种纯面向对象的编程语言,其设计哲学之一就是“一切皆对象”,包括字符串、数字、布尔值,甚至类本身也是对象,是Class类的一个实例。在Ruby中,通过定义类(class)来创建对象(object),类是对象的模板,描述了对象将拥有哪些数据和方法。
在Ruby中定义类时,使用关键字`class`后跟类名开始类定义,例如`class Box`,并以`end`关键字结束类定义。类名遵循大驼峰命名规则,即每个单词的首字母大写,多个单词之间没有空格或其他分隔符。类定义内的数据和方法构成了类的成员,包括属性(实例变量)和行为(方法)。
创建对象的过程称为实例化,使用`new`关键字后跟类名来完成,例如`box1 = Box.new`。创建对象时,如果需要在初始化对象时设定属性值,则可以通过`initialize`方法实现,该方法等同于其他面向对象语言中的构造函数。`initialize`方法可以接收参数,并使用`def`关键字定义,它在对象创建时被调用,通常用于设置实例变量的初始值。
实例变量是类的私有属性,它们在对象创建时由类的构造器(如`initialize`方法)初始化,并且每个对象的实例变量各自独立,不与其他对象共享。实例变量通过`@`符号在类内部访问,而类外部访问则需要通过访问器方法(也称为getter方法)。例如,`@width`实例变量可以通过`def printWidth`和`def printHeight`方法在类外部访问。
设置器方法(setter方法)允许从类外部设置实例变量的值。设置器方法定义方式与访问器类似,但在方法名后添加`=`符号。例如,设置`width`和`height`实例变量的值可以定义`def setWidth=(value)`和`def setHeight=(value)`方法。
实例方法是定义在类内部且与特定对象相关联的方法,可以访问和修改实例变量。实例方法定义同样以`def`开始,后跟方法名。例如,可以定义一个方法来计算矩形的面积,该方法是`Box`类的一个实例方法。
以上概念是Ruby面向对象编程的基础,它们构成了Ruby编程的核心思想。通过类和对象的定义与操作,Ruby能够灵活地进行面向对象的程序设计,使得代码更加模块化、可重用和易于维护。掌握这些基础概念对于深入学习Ruby语言和使用它来开发应用程序至关重要。