在 Ruby 中,繼承是通過創建一個子類來實現的,子類繼承父類的屬性和方法。構造函數是一個特殊的方法,用于初始化對象的狀態。在 Ruby 中,構造函數的名稱是 initialize
。
設計構造函數時,需要考慮以下幾點:
下面是一個簡單的示例,展示了如何在 Ruby 中設計構造函數:
class Person
# 定義構造函數,接收 name 和 age 兩個參數
def initialize(name, age)
# 參數檢查:確保 name 和 age 都是字符串和整數
raise ArgumentError, 'Name must be a string and age must be an integer' unless name.is_a?(String) && age.is_a?(Integer)
# 初始化屬性
@name = name
@age = age
end
# 其他方法
end
# 創建一個 Person 對象
person = Person.new('John Doe', 30)
# 訪問對象的屬性
puts person.name # 輸出 "John Doe"
puts person.age # 輸出 30
在這個示例中,我們定義了一個名為 Person
的類,并在其中設計了構造函數 initialize
。構造函數接收兩個參數:name
和 age
,并對它們進行了檢查,確保它們分別是字符串和整數。然后,使用這些參數為對象的屬性 @name
和 @age
賦值。最后,我們創建了一個 Person
對象,并訪問了它的屬性。