在Ruby中,類的初始化(Initialization)是一個重要的過程,它在創(chuàng)建類的對象時發(fā)生。初始化方法主要有兩個作用:
class MyClass
def initialize(name = "John", age = 30)
@name = name
@age = age
end
end
# 創(chuàng)建一個MyClass對象,使用默認參數
person1 = MyClass.new
puts person1.name # 輸出 "John"
puts person1.age # 輸出 30
# 創(chuàng)建一個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
方法會檢查傳遞給它的參數是否有效,如果無效,則引發(fā)一個ArgumentError
異常。這樣可以確保在創(chuàng)建User
對象時,用戶名和密碼都是有效的。