红宝石 |构造函数
构造函数是类的一种特殊方法,每当创建类的实例时都会自动调用它。与方法一样,构造函数也可以包含一组指令或在对象创建时执行的方法。
关于构造函数要记住的要点:
- 构造函数用于初始化实例变量。
- 在 Ruby 中,构造函数具有不同的名称,与其他编程语言不同。
- 使用initialize和def关键字定义构造函数。
- 它在 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