【发布时间】:2017-08-03 18:46:11
【问题描述】:
如何在 Swift 中通过 super.init 修改子类的基类属性?
考虑基类有一个名为名字的属性,所以我希望子类添加姓氏并通过 super.init 传递 下面是代码
class mainClass {
var firstname : String = "Abhinav"
init(firstname : String){
self.firstname = firstname
}
func printfirstname(){
print(firstname)
}
}
class subClass:mainClass {
var lastname : String
init(lastname:String){
self.lastname = lastname
let name :String = firstname + lastname
super.init(firstname:name)
}
func printname(){
print(firstname)
}
}
var subclass = subClass(lastname:"Jha")
subclass.printfirstname()
我收到错误“在 super.init 初始化 self 之前在属性访问 'firstname' 中使用 'self'”
【问题讨论】:
-
建议您阅读 Apple Docs 中有关类和初始化的更多信息。你很迷茫
-
如果你能解释一下,我会在阅读文档后变得更加困惑
标签: swift initialization