0
我测试了Swift 3中的继承并且遇到了意外的错误。无论如何改变super.init()
调用,我都无法使错误跟踪的问题比这更少。swift 3.1.1错误额外的参数'{property}'在调用
我已阅读过这里的文档和其他类似帖子,但他们没有任何这个特定问题的例子。我正在尝试创建一个具有变量或常量属性的类,然后创建另一个继承自第一个类并添加新属性的类。
错误来自我的子类的init函数:我先设置新的属性,然后用超类的适当参数调用super.init()
。斯威夫特然后告诉我,第三个参数“生日”是一个“额外的论点”。
在我的超类有三个属性和我的子类有两个之间存在某种问题?我想不出任何其他可能会导致此类错误的问题。不知道哪个部分让我感到困惑。
这里是我的代码:
class Person {
var name: String
var age: Int
let birthday: String
init(name: String, age: Int, birthday: String) {
self.name = name
self.age = age
self.birthday = birthday
}
}
class Student: Person {
var isEnrolled: Bool
var numberOfClasses: Int
init(isEnrolled: Bool, numberOfClasses: Int) {
self.isEnrolled = isEnrolled
self.numberOfClasses = numberOfClasses
super.init(name: name, age: age, birthday: birthday) {
self.name = name
self.age = age
self.birthday = birthday
}
}
}