Ruby 教程 之 Ruby 面向对象 8

简介: Ruby 面向对象

Ruby 教程 之 Ruby 面向对象 8

Ruby 面向对象

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

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

类的继承

继承,是面向对象编程中最重要的概念之一。继承允许我们根据另一个类定义一个类,这样使得创建和维护应用程序变得更加容易。

继承有助于重用代码和快速执行,不幸的是,Ruby 不支持多继承,但是 Ruby 支持 mixins。mixin 就像是多继承的一个特定实现,在多继承中,只有接口部分是可继承的。

当创建类时,程序员可以直接指定新类继承自某个已有类的成员,这样就不用从头编写新的数据成员和成员函数。这个已有类被称为基类或父类,新类被称为派生类或子类。

Ruby 也提供了子类化的概念,子类化即继承,下面的实例解释了这个概念。扩展一个类的语法非常简单。只要添加一个 < 字符和父类的名称到类语句中即可。例如,下面定义了类 BigBox 是 Box 的子类:

实例

!/usr/bin/ruby -w

定义类

class Box

构造器方法

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

实例方法

def getArea
@width * @height
end
end

定义子类

class BigBox < Box

添加一个新的实例方法

def printArea
@area = @width * @height
puts "Big box area is : #@area"
end
end

创建对象

box = BigBox.new(10, 20)

输出面积

box.printArea()

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

Big box area is : 200

目录
相关文章
|
1月前
|
数据采集 Web App开发 数据处理
Ruby网络爬虫教程:从入门到精通下载图片
Ruby网络爬虫教程:从入门到精通下载图片
|
2月前
|
JSON 数据格式 Ruby
|
2月前
|
JSON Ubuntu Linux
|
2月前
|
存储 JSON 数据格式
|
2月前
|
安全 Ruby
|
2月前
|
调度 Ruby
|
2月前
|
人工智能 BI 计算机视觉
|
2月前
|
Ruby
|
2月前
|
Ruby
|
2月前
|
调度 Ruby