第十五节 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
上一篇 下一篇

猜你喜欢

热点阅读