不繼承于其它類的類,稱之為基類(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)來設置屬性的值。構造器會在構造過程一節(jié)中詳細介紹,這里我們做一下簡單介紹,以便于講解子類中繼承來的屬性如何被修改。
構造器用于創(chuàng)建某個類型的一個新實例。盡管構造器并不是方法,但在語法上,兩者很相似。構造器的工作是準備新實例以供使用,并確保實例中的所有屬性都擁有有效的初始化值。
構造器的最簡單形式就像一個沒有參數(shù)的實例方法,使用init關鍵字:
init() {
// 執(zhí)行構造過程
}
如果要創(chuàng)建一個Vehicle類的新實例,使用構造器語法調(diào)用上面的初始化器,即類名后面跟一個空的小括號:
let someVehicle = Vehicle()
這個Vehicle類的構造器為任意的一輛車設置一些初始化屬性值(numberOfWheels = 0和maxPassengers = 1)。
Vehicle類定義了車輛的共同特性,但這個類本身并沒太大用處。為了使它更為實用,你需要進一步細化它來描述更具體的車輛。