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
}
}
}