📜  红宝石 |类和对象

📅  最后修改于: 2022-05-13 01:54:51.610000             🧑  作者: Mango

红宝石 |类和对象

Ruby 是一种理想的面向对象编程语言。面向对象编程语言的特性包括数据封装、多态、继承、数据抽象、运算符重载等。在面向对象编程中类和对象起着重要的作用。
是创建对象的蓝图。该对象也称为类的实例。例如,动物是一个类,哺乳动物、鸟类、鱼类、爬行动物和两栖动物是该类的实例。同样,销售部门是类,类的对象是销售数据、销售经理和秘书。
在 Ruby 中定义一个类:
在 Ruby 中,可以轻松地创建类和对象。只需编写 class 关键字,后跟类的名称。类名的第一个字母应该是大写字母。
句法:

class Class_name

end

一个类由end 关键字终止,所有数据成员都位于类定义和 end 关键字之间。
例子:

# class name is Animal
class Animal

# class variables
@@type_of_animal = 4
@@no_of_animal = 3

end

在 Ruby 中使用“new”方法创建对象:
类和对象是 Ruby 中最重要的部分。就像类对象也很容易创建一样,我们可以从一个类中创建多个对象。在 Ruby 中,对象是由new 方法创建的。
句法:

object_name = Class_name.new

例子:

# class name is box
class Box

# class variable
@@No_of_color = 3

end

# Two Objects of Box class
sbox = Box.new
nbox = Box.new

这里 Box 是类的名称, No_of_color 是类的变量。 sboxnbox是 box 类的两个对象。您使用 (=) 后跟类名、点运算符和新方法。
在 Ruby 中定义方法:
在 Ruby 中,成员函数被称为方法。每个方法都由def 关键字定义,后跟方法名称。方法的名称总是小写,方法以end 关键字结尾。在 Ruby 中,每个类和方法都以 end 关键字结尾
句法:

def method_name

# statements or code to be executed

end

例子:

Ruby
# Ruby program to illustrate
# the defining of methods
 
#!/usr/bin/ruby
 
# defining class Vehicle
class GFG
 
# defining method
def geeks
 
# printing result
puts "Hello Geeks!"
 
# end of method
end
 
# end of class GFG
end
 
# creating object
obj = GFG.new
 
# calling method using object
obj.geeks


Ruby
# Ruby program to illustrate the passing
# parameters to new method
 
#!/usr/bin/ruby
 
# defining class Vehicle
class Vehicle
 
# initialize method
def initialize(id, color, name)
 
# variables
@veh_id = id
@veh_color = color
@veh_name = name
 
# displaying values
puts "ID is: #@veh_id"
puts "Color is: #@veh_color"
puts "Name is: #@veh_name"
puts "\n"
end
end
 
# Creating objects and passing parameters
# to new method
xveh = Vehicle. new("1", "Red", "ABC")
yveh = Vehicle. new("2", "Black", "XYZ")


输出:

Hello Geeks!

将参数传递给新方法:
用户可以将任意数量的参数传递给用于初始化类变量的“新方法”。在将参数传递给“新方法”时,必须在类创建时声明一个初始化方法。 initialize 方法是一个特定的方法,在带参数调用新方法时执行。
例子:

红宝石

# Ruby program to illustrate the passing
# parameters to new method
 
#!/usr/bin/ruby
 
# defining class Vehicle
class Vehicle
 
# initialize method
def initialize(id, color, name)
 
# variables
@veh_id = id
@veh_color = color
@veh_name = name
 
# displaying values
puts "ID is: #@veh_id"
puts "Color is: #@veh_color"
puts "Name is: #@veh_name"
puts "\n"
end
end
 
# Creating objects and passing parameters
# to new method
xveh = Vehicle. new("1", "Red", "ABC")
yveh = Vehicle. new("2", "Black", "XYZ")

输出:

ID is: 1
Color is: Red
Name is: ABC

ID is: 2
Color is: Black
Name is: XYZ

解释:这里的 Vehicle 是类名。 def是一个关键字,用于在 Ruby 中定义“初始化”方法。每当创建新对象时都会调用它。每当调用新的类方法时,它总是调用初始化实例方法。 initialize方法就像一个构造函数,每当创建新对象时都会调用initialize 方法id、color、name是初始化方法中的参数, @veh_id @veh_color、@veh_name是初始化方法中的局部变量,借助这些局部变量,我们将值传递给新方法。 “new”方法中的参数总是用双引号括起来。