Swift定義一個基類
定義一個基類(Base class)
不繼承於其它類的類,稱之為基類(base calss)。
注意:
Swift 中的類並不是從一個通用的基類繼承而來。如果你不為你定義的類指定一個超類的話,這個類就自動成為基類。
下麵的例子定義了一個叫Vehicle
的基類。這個基類聲明了兩個對所有車輛都通用的屬性(numberOfWheels
和maxPassengers
)。這些屬性在description
方法中使用,這個方法返回一個String
類型的,對車輛特征的描述:
class Vehicle {
var numberOfWheels: Int
var maxPassengers: Int
func description() -> String {
return "\(numberOfWheels) wheels; up to \(maxPassengers) passengers"
}
init() {
numberOfWheels = 0
maxPassengers = 1
}
}
Vehicle
類定義了構造器(initializer)來設置屬性的值。構造器會在構造過程一節中詳細介紹,這裡我們做一下簡單介紹,以便於講解子類中繼承來的屬性如何被修改。
構造器用於創建某個類型的一個新實例。儘管構造器並不是方法,但在語法上,兩者很相似。構造器的工作是準備新實例以供使用,並確保實例中的所有屬性都擁有有效的初始化值。
構造器的最簡單形式就像一個冇有參數的實例方法,使用init
關鍵字:
init() {
// 執行構造過程
}
如果要創建一個Vehicle
類的新實例,使用構造器語法調用上麵的初始化器,即類名後麵跟一個空的小括號:
let someVehicle = Vehicle()
這個Vehicle
類的構造器為任意的一輛車設置一些初始化屬性值(numberOfWheels = 0
和maxPassengers = 1
)。
Vehicle
類定義了車輛的共同特性,但這個類本身並冇太大用處。為了使它更為實用,你需要進一步細化它來描述更具體的車輛。