0

几天前我开始学习 swift,我来自 java/c++ 背景。然而,这段代码有一个我似乎无法修复的错误。

class Student
{
    var number:Int
    var name:String
    var course:String

    init(_ name:String,_ number:Int, _ course:String)
    {
        self.number = number
        self.name = name
        self.course = course
    }

    func write()
    {
        print("Name:",self.name)
        print("Number:",self.number)
        print("Course:",self.course)
    }
}

class ExchangeStudent:Student
{
    var country:String

   init(_ name:String,_ number:Int, _ course:String, _country:String)
    {
        super.init(name,number,course)
        self.country = country
    }

}

但是我收到以下错误:

property 'self.country' not initialized at super.init call

而且我真的不明白我该如何解决

4

1 回答 1

1

在初始化子类添加的所有额外属性之后super.init,需要调用。

class ExchangeStudent: Student {
    var country:String

    init(_ name:String,_ number:Int, _ course:String, _ country:String) {
        self.country = country
        super.init(name,number,course)
    }

}
于 2020-04-24T09:32:46.383 回答