📜  红宝石 |构造函数

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

红宝石 |构造函数

构造函数是类的一种特殊方法,每当创建类的实例时都会自动调用它。与方法一样,构造函数也可以包含一组指令或在对象创建时执行的方法。

关于构造函数要记住的要点:

  • 构造函数用于初始化实例变量。
  • 在 Ruby 中,构造函数具有不同的名称,与其他编程语言不同。
  • 使用initializedef关键字定义构造函数。
  • 它在 Ruby 中被视为一种特殊方法。
  • 构造函数可以在 Ruby 中重载。
  • 构造函数不能被继承。
  • 它返回该类的实例。

注意:每当使用方法创建类的对象时,它都会在内部调用对象的初始化方法。此外,传递给new的所有参数都将自动传递给方法initialize

句法:

class Class_Name

   def initialize(parameter_list)

   end

end

例子:

Ruby
# A Ruby program to demonstrate
# the working of constructor
 
#!/usr/bin/ruby
   
# class name 
class Demo
   
    # constructor
    def initialize  
        puts "Welcome to GeeksforGeeks!"  
    end  
 
end   
 
# Creating Object
Demo.new


Ruby
# Ruby program to initialize instance
# variable using constructor
 
#!/usr/bin/ruby
 
# class name
class Geeks
     
    # constructor
    def initialize
         
        # instance variable initialization
        @inst_1 = "GeeksforGeeks"
        @inst_2 = "Sudo Placement"
    end
     
    # display method
    def display
        puts "Value of First instance variable is: #{@inst_1}"
        puts "Value of Second instance variable is: #{@inst_2}"
    end
end
 
# creating object
obj1 = Geeks.new()
 
# calling display method
obj1.display()


输出:

Welcome to GeeksforGeeks!

初始化实例变量:可以使用构造函数初始化实例变量。在构造函数内部,提供了实例变量的初始值,可以在程序的任何地方进一步使用。

例子:

红宝石

# Ruby program to initialize instance
# variable using constructor
 
#!/usr/bin/ruby
 
# class name
class Geeks
     
    # constructor
    def initialize
         
        # instance variable initialization
        @inst_1 = "GeeksforGeeks"
        @inst_2 = "Sudo Placement"
    end
     
    # display method
    def display
        puts "Value of First instance variable is: #{@inst_1}"
        puts "Value of Second instance variable is: #{@inst_2}"
    end
end
 
# creating object
obj1 = Geeks.new()
 
# calling display method
obj1.display()

输出:

Value of First instance variable is: GeeksforGeeks
Value of Second instance variable is: Sudo Placement