答疑:能在 setter 方法中调用父类么?
发布时间:2020-12-14 06:45:40 所属栏目:百科 来源:网络整理
导读:作者:Erica Sadun,原文链接,原文日期:2016/08/08 译者:Cwift;校对:Cee;定稿:CMB k 给我留言: 「能在 setter 方法中调用父类么?比如在赋新值时复写 setter,而是调用其父类的方法?」 答案是当然可以。请看示例: class Foo { var value: String i
k 给我留言:「能在 setter 方法中调用父类么?比如在赋新值时复写 setter,而是调用其父类的方法?」 答案是当然可以。请看示例: class Foo { var value: String init(value: String) { self.value = value } } class SubFoo: Foo { override var value: String { get { return super.value } set { super.value = newValue.lowercased() } } }
let a = Foo(value: "Hello World") let b = SubFoo(value: "Hello World") debugPrint(a.value,b.value) // "Hello World","Hello World" b.value = "Hello Sailor" debugPrint(a.value,"hello sailor" 我不确定这个特性是否会带来非常多的应用场景,不过我认为绝对是有可能的。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容