Ruby教程
Ruby控制语句
Ruby高级

Ruby OOPs 概念

Ruby OOP 概念

Ruby 是一种真正的面向对象语言,可以嵌入到超文本标记语言中。 Ruby 中的一切都是对象。所有的数字、字符串甚至类都是一个对象。整个 Ruby 语言基本上建立在对象和数据的概念之上。
OOP 是一种编程概念,它使用对象及其交互来设计应用程序和计算机程序。
以下是一些OOP 中的基本概念:
封装 多态性 继承 抽象
封装: 它向其他对象隐藏了一个类的实现细节,因为该类对其余代码不可用。其主要目的是保护数据免受数据操纵。
多态性: 它是针对不同的数据输入以不同方式表示运算符或函数的能力。
继承: 它从预定义的类中创建新类。新类继承其父类的行为,称为超类。通过这种方式,可以使预定义的类更具可重用性和实用性。
摘要: 它通过对适合问题的类进行建模来隐藏类的复杂性。

Ruby 类

Ruby 类定义数据类型的蓝图。它定义了该类名的含义。
一个类是用class关键字定义的,后跟类名,并以end关键字结束。
按照惯例,类名必须以大写字母开头。一个以上单词的类名连在一起,每个单词大写,没有分隔符。

创建类

示例:
我们将使用以下命令创建一个 Java 类,
class Greeter
Ruby Oops 概念 1

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

Ruby 对象

在 Ruby 中,一切都是对象。当我们创建对象时,它们通过方法进行通信。因此,对象是数据和方法的组合。
要创建一个对象,首先,我们定义一个类。单个类可用于创建多个对象。使用 new 关键字声明对象。

创建对象

示例:
我们有一个名为 Java 的类。现在,让我们创建一个对象 java 并通过以下命令使用它,
java = Java. new( "John")
Ruby Oops 概念 2

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

Ruby 方法

方法是定义在类体内的函数。 Ruby 中的数据只能通过方法访问。当调用方法时,Ruby 会在其中查看跟踪路径。要找出方法查找链,我们可以使用祖先方法。

定义方法

方法以def关键字定义,以end关键字结束。
我们正在定义一个方法 name,它将显示以下消息。
Ruby Oops 概念 3

def 关键字开始定义方法名。然后我们写方法的主体。最后一行结束表示方法已定义。

实例方法

实例方法也用 def 关键字定义,它们只能使用类实例使用。
示例:
#!/usr/bin/ruby-w # define a class class Circle # constructor method def initialize(r) @radius = r end # instance method def getArea 3.14 * @radius * @radius end end # create an object circle = Circle. new(2) # call instance methods a = circle. getArea() puts "Area of the box is : #{a}"
输出:
Ruby Oops 概念 4

Ruby 继承

在继承中,我们使用预定义的类创建新类。新创建的类称为派生类,派生它们的类称为基类。通过继承,可以再次重用代码,从而降低程序的复杂性。
Ruby 不支持多级继承。相反,它支持mixins。
在 Ruby 中, 字符用于创建子类。语法如下所示:
parent class < subClass
示例:
#!/usr/bin/ruby class Parent def initialize puts "Parent class created" end end class Child < Parent def initialize super puts "Child class created" end end Parent.new Child.new
在上面的例子中,创建了两个类。一个是基父类,另一个是派生子类。
super 方法调用父类的构造函数。
从最后两行开始,我们实例化了两个类。
输出:
Ruby Oops 概念 5

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

Ruby 构造函数

创建对象时会自动调用构造函数。它们不返回任何值。在 Ruby 中,它们被称为初始化。
构造函数的主要目的是启动对象的状态。它们不能被继承。使用 super 方法调用父对象构造函数。
示例:
#!/usr/bin/ruby class Parent def initialize puts "Parent is created" end end Parent.new
输出:
Ruby Oops 概念 6

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4