第十五节 Swift中的继承
2020-07-13 本文已影响0人
码客南君
继承是面向对象编程的特性之一,当多个类具有很多共性时,可以将这些共性集中到一个父类中,其它的类再继承这个父类,这样可以少写很多代码。
Swift 中的类可以调用和访问父类的方法、属性和下标脚本。
定义一个父类
class Car {
var brand = "BMW"
var description: String {
return "This is a \(brand) car"
}
func driving() {
// do nothing - an arbitrary vehicle doesn't
// necessarily make a noise
}
}
使用初始化语法创建了一个 Vehicle 实例, 类型名 后面跟着一个空括号:
let newCar = Car()
新建一个 Car 实例后,通过 description 属性来输出一个关于汽车介绍的描述:
print("Hello: \(newCar.description)")
//Hello: This is a BMW car
定义一个子类
定义一个叫 Audi的子类,父类是Car。Audi 继承 Car的 brand、description属性和 driving()方法。
同时还新定义了一个属性 hasAutopilot,默认值是 false。
class ElectricCar: Car {
var hasAutopilot = false
}
新建一个 ElectricCar实例,hasAutopilot 属性设为 true
let tesla = ElectricCar()
tesla.hasAutopilot = true
修改 brand属性,通过 description 属性输出描述:
tesla.brand = "Tesla"
print("Hello: \(tesla.description)")
//Hello: This is a Tesla car