Ruby中的面向对象编程

在了解如何在Ruby中实现面向对象的编程之前,让我们首先了解一下面向对象的含义。

面向对象的编程降低了大型软件系统的复杂性,从而使软件易于维护。这类编程基本上使用对象。在纯面向对象的语言中,所有内容都被视为对象。OOP的主要目的是将数据与操作这些数据的功能组合在一起,以使代码的任何其他部分都无法访问该数据。

现在让我们谈谈Ruby。Ruby是一种纯粹的面向对象语言,所有内容都被视为对象。甚至字符串,数字,true或false也是最原始的对象类型。本文的其余部分将让您知道,如何在Ruby中实现类和对象?

类不过是数据类型的蓝图。它仅定义类的实例由什么组成,以及可以对类的对象执行的可能功能。在Ruby中,甚至类都是“类”类的对象。

语法:

    class Class_name
        #code
    end

请记住,按照惯例,类名必须以大写字母开头。如果不遵循约定,则会在编译时出现错误。

现在,让我们在Ruby中声明一个类,

    class Example
	    def initialize
	    end

	    def prints
	    end
    end

上面的代码将被编译,但不会产生输出,因为在未实例化之前不会向该类提供任何内存。

对象

对象是类的实例。它们为班级提供记忆。您可以创建一个类的任意数量的对象。通过“ new”关键字创建对象。

语法:

    object_name = class_name.new

让我们借助示例来了解对象创建:

class Example
	def initialize
	end

	def prints
		puts "Hello fella. How are you!!"
	end
end

ob1 = Example.new
ob1.prints
ob2 = Example.new
ob2.prints

输出结果

Hello fella. How are you!!
Hello fella. How are you!!

在上面的代码中,您可以看到我们正在创建Example类的两个对象。然后,我们将实例调用prints方法。

建设者

构造函数用于初始化类的变量。它们在创建对象时初始化类变量。'initialize'方法在Ruby中充当构造函数。它在类内部定义,并在创建对象时调用。通过语法和示例可以更好地理解。

语法:

    class Class_name
	    def initialize(parameters if required)
	    end
    end

示例

=begin
Ruby program to demonstrate initialize.
=end
class Example
	def initialize(j,k)
		@a = k
		@b = j
	end

	def prints
		puts "The value of class variables are #{@a} and #{@b}"
	end
end

ob1 = Example.new(2,5)
ob1.prints
ob2 = Example.new(9,7)
ob2.prints

输出结果

The value of class variables are 5 and 2
The value of class variables are 7 and 9