Ruby 教程 之 Ruby 面向对象 13

简介: Ruby 面向对象

Ruby 教程 之 Ruby 面向对象 13

Ruby 面向对象

Ruby 是纯面向对象的语言,Ruby 中的一切都是以对象的形式出现。Ruby 中的每个值都是一个对象,即使是最原始的东西:字符串、数字,甚至连 true 和 false 都是对象。类本身也是一个对象,是 Class 类的一个实例。本章将向您讲解所有与 Ruby 面向对象相关的主要功能。

类用于指定对象的形式,它结合了数据表示法和方法,把数据整理成一个整齐的包。类中的数据和方法被称为类的成员。

使用 allocate 创建对象

可能有一种情况,您想要在不调用对象构造器 initialize 的情况下创建对象,即,使用 new 方法创建对象,在这种情况下,您可以调用 allocate 来创建一个未初始化的对象,如下面实例所示:

实例

!/usr/bin/ruby -w

定义类

class Box
attr_accessor :width, :height

构造器方法

def initialize(w,h)
@width, @height = w, h
end

实例方法

def getArea
@width * @height
end
end

使用 new 创建对象

box1 = Box.new(10, 20)

使用 allocate 创建另一个对象

box2 = Box.allocate

使用 box1 调用实例方法

a = box1.getArea()
puts "Area of the box is : #{a}"

使用 box2 调用实例方法

a = box2.getArea()
puts "Area of the box is : #{a}"

尝试一下 »
当上面的代码执行时,它会产生以下结果:

Area of the box is : 200
test.rb:14: warning: instance variable @width not initialized
test.rb:14: warning: instance variable @height not initialized
test.rb:14:in getArea': undefined method*'
for nil:NilClass (NoMethodError) from test.rb:29

目录
相关文章
|
6月前
|
程序员 Ruby
|
6月前
|
Ruby
|
6月前
|
数据安全/隐私保护 Ruby
|
6月前
|
Ruby
|
6月前
|
Ruby
|
6月前
|
Ruby
|
6月前
|
程序员 Ruby
|
6月前
|
Ruby
|
6月前
|
Ruby
|
6月前
|
Ruby