Ruby 教程 目录

Ruby 实例方法

在本章中,我们将深入探讨 Ruby 中的实例方法。实例方法是定义在类中的方法,可以通过该类创建的对象来调用。这些方法用于执行特定任务或操作,并且可以接受参数和返回值。通过学习如何定义、调用和使用实例方法,我们可以更好地理解 Ruby 的面向对象编程特性。

定义实例方法

在 Ruby 中,可以在类定义中使用 def 关键字来定义一个实例方法。实例方法通常不接受任何额外的关键字,因为它们默认作用于实例对象。下面是一个简单的例子:

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

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

在这个例子中,我们定义了一个名为 Person 的类。这个类有两个方法:一个是构造器方法 initialize,它在创建新对象时被调用;另一个是实例方法 greet,它输出一条问候语。

调用实例方法

一旦我们创建了类的一个实例,就可以通过该实例来调用实例方法。例如:

上述代码首先创建了一个 Person 类的新实例,然后调用了 greet 方法。这将输出 "Hello, my name is Alice."。

使用实例方法的参数

实例方法可以像普通方法一样接受参数。这些参数在方法定义中指定,并在方法调用时传递。例如:

在这个例子中,Calculator 类有一个 add 方法,它接受两个参数并返回它们的和。

这里我们创建了一个 Calculator 类的新实例,并调用了 add 方法。这将输出 8

返回值

实例方法可以返回任意类型的值。如果方法没有显式地使用 return 关键字,那么它将返回最后一个表达式的值。例如:

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

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

在这个例子中,Rectangle 类有一个 area 方法,它返回矩形的面积。如果没有显式地使用 return,则方法会自动返回 @width * @height 的结果。

这将输出 20,即矩形的面积。

私有实例方法

有时,我们希望某些方法只能在类内部调用,而不能从外部访问。为此,Ruby 提供了私有方法的概念。私有方法只能由同一类中的其他方法调用,而不能通过对象直接调用。要声明一个私有方法,只需在方法定义之前加上 private 关键字即可:

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

  -------

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

在这个例子中,Secret 类有一个公共方法 reveal_secret 和一个私有方法 secret_message。外部对象只能调用 reveal_secret,但不能直接调用 secret_message

如上所示,虽然 reveal_secret 可以调用 secret_message,但从外部尝试直接调用 secret_message 将引发错误。

总结

通过以上内容的学习,我们掌握了 Ruby 中实例方法的基本概念和使用方法。实例方法使我们能够创建具有特定行为的对象,它们是 Ruby 面向对象编程的核心部分。通过合理地定义和使用实例方法,可以使我们的代码更加模块化和易于维护。

上一篇: Ruby 创建类
下一篇: Ruby 类方法
纠错
反馈