Ruby 面向对象编程概念

17 Mar 2025 | 4 分钟阅读

Ruby 是一种真正的面向对象语言,可以嵌入到超文本标记语言中。 Ruby 中的一切都是对象。 所有数字,字符串,甚至类都是对象。 整个 Ruby 语言基本上都是建立在对象和数据的概念之上的。

面向对象编程是一种编程概念,它使用对象及其交互来设计应用程序和计算机程序。

以下是面向对象编程的一些基本概念

  • 封装
  • 多态
  • 继承
  • 抽象
  • 封装: 它隐藏了类从其他对象的实现细节,因此类无法用于代码的其余部分。 其主要目的是保护数据免受数据操作的影响。

    多态: 它是在不同数据输入的情况下,以不同的方式表示运算符或函数的能力。

    继承: 它从预定义的类创建新类。 新类继承其父类的行为,父类称为超类。 这样,可以使预定义的类更具可重用性和实用性。

    抽象: 它通过对适合问题的类进行建模来隐藏类的复杂性。


    Ruby 类

    Ruby 类定义了数据类型的蓝图。 它定义了该类名称的含义。

    类使用 class 关键字定义,后跟类名,并以 end 关键字结尾。

    按照惯例,类名必须以大写字母开头。 具有多个单词的类名一起运行,每个单词都大写,并且没有分隔字符。

    创建类

    示例

    我们将使用以下命令创建一个名为 Java 的类。

    Ruby Oops concept 1

    创建了一个新的 Java 类。 @name 是 Java 类的所有方法都可用的实例变量。 它被 say_welcome 和 say_bye 使用。


    Ruby 对象

    在 Ruby 中,一切都是对象。 当我们创建对象时,它们通过方法一起进行通信。 因此,对象是数据和方法的组合。

    要创建一个对象,首先,我们定义一个类。 单个类可用于创建多个对象。 使用 new 关键字声明对象。

    创建对象

    示例

    我们有一个名为 Java 的类。 现在,让我们创建一个对象 java 并使用以下命令使用它。

    Ruby Oops concept 2

    创建 java 对象后,它将使用 John 作为名称。


    Ruby方法

    方法是在类主体内部定义的函数。 只能通过方法访问 Ruby 中的数据。 当调用方法时,Ruby 会按照以下路径进行查找。 要找出方法查找链,我们可以使用 ancestors 方法。

    定义方法

    方法使用 def 关键字定义,并以 end 关键字结尾。

    我们正在定义一个方法 name,它将显示以下消息。

    Ruby Oops concept 3

    def 关键字启动方法名称的定义。 然后我们编写 mehtod 的主体。 最后一行 end 表示方法已定义。

    实例方法

    实例方法也使用 def 关键字定义,并且只能使用类实例来使用它们。

    示例

    输出

    Ruby Oops concept 4


    Ruby 继承

    在继承中,我们使用预定义的类创建新类。 新创建的类称为派生类,而从中派生类称为基类。 通过继承,可以再次重用代码,从而降低了程序的复杂性。

    Ruby 不支持多层继承。 相反,它支持 混入。

    在 Ruby 中,使用 < 字符创建子类。 语法如下所示

    示例

    在上面的示例中,创建了两个类。 一个是基本 Parent 类,另一个是派生的 Child 类。

    super 方法调用 Parent 类的构造函数。

    从最后两行,我们实例化了这两个类。

    输出

    Ruby Oops concept 5

    在输出中,首先创建 Parent 类,派生的 Child 类也调用其父类的构造函数,然后创建 Child 类。


    Ruby 构造函数

    创建对象时会自动调用构造函数。 它们不返回任何值。 在 Ruby 中,它们被称为 initialize。

    构造函数的主要目的是启动对象的状态。 它们无法被继承。 使用 super 方法调用父对象构造函数。

    示例

    输出

    Ruby Oops concept 6