1.Food類
它創建了兩個構造器類,一個為指定構造器,一個為便利構造器。指定構造器保證了所有的存儲屬性都進行了初始化。便利構造器最終指向了指定構造器。由于這里的Food類沒有父類因此不需要對父類進行調用來對父類進行初始化。
Food類中的構造器鏈:
構造器鏈
2.RecipeIngredient類
構造器鏈
init(name: String, quantity: Int)為一個指定構造器,他對所有屬性進行了初始化,由于它繼承自Food類,因此它要對父類進行初始化。另外定義了一個便利構造器,這個構造器由于是重寫的父類的指定構造器,因此這導致了它可以繼承父類的所有便利構造器。所有的這三種構造器都可以用來創造RecipeIngredient的實例。
創建實例
3.ShoppingListItem類
ShoppingListItem是RecipeIngredient的子類。
類實現
由于本類沒有定義構造器,因此它將繼承父類的所有構造器。
繼承來的構造器
你可以三種繼承來的構造器來進行創建實例。