Ruby 教程 之 Ruby 面向对象 3
Ruby 面向对象
Ruby 是纯面向对象的语言,Ruby 中的一切都是以对象的形式出现。Ruby 中的每个值都是一个对象,即使是最原始的东西:字符串、数字,甚至连 true 和 false 都是对象。类本身也是一个对象,是 Class 类的一个实例。本章将向您讲解所有与 Ruby 面向对象相关的主要功能。
类用于指定对象的形式,它结合了数据表示法和方法,把数据整理成一个整齐的包。类中的数据和方法被称为类的成员。
访问器(getter) & 设置器(setter)方法
为了在类的外部读取类中已定义的变量,我们可以通过定义访问器(getter)方法来访问。
与用于访问变量值的访问器方法类似,Ruby 提供了一种在类的外部将参数传入类中已定义的变量,也就是所谓的设置器方法,定义如下:
实例
!/usr/bin/ruby -w
定义类
class Box
构造器方法
def initialize(w,h)
@width, @height = w, h
end
访问器方法
def getWidth
@width
end
def getHeight
@height
end
设置器方法
def setWidth=(value)
@width = value
end
def setHeight=(value)
@height = value
end
end
创建对象
box = Box.new(10, 20)
使用设置器方法
box.setWidth = 30
box.setHeight = 50
使用访问器方法
x = box.getWidth()
y = box.getHeight()
puts "盒子宽度 : #{x}"
puts "盒子高度 : #{y}"
尝试一下 »
当上面的代码执行时,它会产生以下结果:
盒子宽度 : 30
盒子高度 : 50
由于两种方法非常常用,Ruby 定义了 attr_accessor :variable_name、attr_reader :variable_name、attr_writer :variable_name 三种属性声明方法。其中:accessor=reader+writer。
同时注意:变量名前一定要带 : ,变量名之间要用 , 分割。