在Ruby中,类的初始化(Initialization)是一个重要的过程,它在创建类的对象时发生。初始化方法主要有两个作用:
class MyClass
def initialize(name = "John", age = 30)
@name = name
@age = age
end
end
# 创建一个MyClass对象,使用默认参数
person1 = MyClass.new
puts person1.name # 输出 "John"
puts person1.age # 输出 30
# 创建一个MyClass对象,使用自定义参数
person2 = MyClass.new("Alice", 25)
puts person2.name # 输出 "Alice"
puts person2.age # 输出 25
class User
def initialize(username, password)
raise ArgumentError, "Invalid username or password" unless valid_username?(username) && valid_password?(password)
@username = username
@password = password
end
private
def valid_username?(username)
# 检查用户名是否有效
end
def valid_password?(password)
# 检查密码是否有效
end
end
在这个例子中,initialize
方法会检查传递给它的参数是否有效,如果无效,则引发一个ArgumentError
异常。这样可以确保在创建User
对象时,用户名和密码都是有效的。