在子类抛出错误时快速覆盖init

时间:2019-07-29 13:24:50

标签: swift

我目前正在测试关于初始化程序和继承的知识。但是,当我尝试在子类中重写超类的init函数时,抛出一个错误,指出“ Initializer不会从其超类中覆盖指定的初始化器”,希望大家能帮帮我!

class Employee {
    var name = ""
    var salary = 0
    var role = ""

    init() {

    }

    init(_ name:String) {
        self.name = name
        self.salary = 0
        self.role = "Helpdesk"
    }

    func doWork() {
        print("Currently working hard...")
        salary += 1000
    }
}


class Manager: Employee {

    var teamSize = 0
    var bonus:Int {
        // this is a computed property
        return teamSize * 1000
    }

    override init(_ name:String, _ team:Int) {       // ERROR pops up here**********
        super.init(name)
        self.teamSize = team
    }

    override func doWork() {
        super.doWork()

        print("Currently managing people...")
    }
}

0 个答案:

没有答案
相关问题