Ruby 教程 目录

Ruby 面向对象编程

面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,它使用“对象”来设计软件。Ruby 是一种纯粹的面向对象的语言,几乎所有的操作都是通过对象进行的。在这一章中,我们将深入探讨 Ruby 的面向对象编程特性。

类与实例

定义类

在 Ruby 中,类是创建对象的蓝图或模板。类定义了对象的属性和行为。你可以使用 class 关键字来定义一个类:

创建实例

一旦定义了一个类,就可以通过 new 方法创建该类的对象(也称为实例)。每个实例都有自己的属性和方法。

属性

在 Ruby 中,属性可以通过实例变量(以 @ 开头)来表示。虽然可以直接访问这些实例变量,但通常推荐使用 getter 和 setter 方法来访问和修改它们。

-- -------------------- ---- -------
----- ------
  --- ----------------
    ----- - ----
  ---

  --- ----
    -----
  ---

  --- ------------
    ----- - -----
  ---
---

------ - -------------------
---- ----------- - -- -------
----------- - -----
---- ----------- - -- -----

私有方法

在 Ruby 中,可以将某些方法标记为私有的,这意味着这些方法只能被同一个类中的其他方法调用。这可以通过 private 关键字来实现:

-- -------------------- ---- -------
----- ------
  --- ----------------
    ----- - ----
  ---

  --- -----
    ---------
  ---

  -------

  --- ---------
    ---- ------- ----------
  ---
---

------ - -------------------
------------ - -- ------- -------
- ---------------- - --------- --------- ----

继承

继承是面向对象编程中的一个重要概念,它允许一个类(子类)继承另一个类(父类)的属性和方法。这有助于代码重用和组织结构。

定义父类和子类

-- -------------------- ---- -------
----- ------
  --- -----
    ----- ------
  ---
---

----- --- - ------
  --- -----
    -------
  ---
---

----- --- - ------
  --- -----
    -------
  ---
---

覆盖和方法调用

子类可以覆盖父类的方法,或者通过 super 关键字调用父类的方法。

-- -------------------- ---- -------
----- ------
  --- -----
    ----- ------
  ---
---

----- --- - ------
  --- -----
    ----- - -- ------
  ---
---

--- - -------
---- --------- - -- ----- ------ ------

多态

多态是指不同类的对象对同一消息做出响应的能力。Ruby 支持多态,因为它允许你使用相同的接口调用不同对象的方法。

-- -------------------- ---- -------
----- ------
  --- -----
    ----- ------
  ---
---

----- --- - ------
  --- -----
    -------
  ---
---

----- --- - ------
  --- -----
    -------
  ---
---

--- --------------------
  ------------
---

---- --------------------- - -- -------
---- --------------------- - -- -------

模块与混合

模块是用于命名空间和混入功能的一种方式。模块不能实例化,但可以包括方法、常量和类。模块的一个重要用途是作为混入(mixin)来共享功能。

定义和使用模块

-- -------------------- ---- -------
------ --------
  --- ----
    ---- -------- -- ---------
  ---
---

----- ------
  ------- --------
  ------------- -----

  --- ----------------
    ----- - ----
  ---

  --- ----
    -----
  ---
---

------ - -------------------
----------- - -- ------ -- ---------

命名空间

模块也可以用来创建命名空间,防止名称冲突。

小结

本章介绍了 Ruby 中面向对象编程的核心概念,包括类与实例、继承、多态以及模块与混合。这些基础知识将帮助你在实际项目中有效地使用 Ruby 的面向对象特性。下一章我们将继续探讨 Ruby 的其他高级特性。

上一篇: Ruby 自定义异常
下一篇: Ruby 单例模式
纠错
反馈