class Foo { lazy var bar: Int = 0 } class Foo2: Foo { override var bar: Int { didSet { print("a") } } } Foo2().bar = 2