您怎么称呼定义了getter和setter但没有后备变量的变量?

问题描述 投票:0回答:1

当您使用getter 和setter定义变量/属性,以致该语言不会自动生成后备变量时,这叫什么?

例如在Swift中,我们可以定义一个modalViewController属性,该属性不会创建后备变量:

extension MyViewController {
    var modalViewController: UIViewController? {
        get { return self.presentedViewController }
        set { self.present(newValue, animated: true) }
    }
}

描述modalViewController属性的正确术语是什么?


我知道,如果只有它是可获取的,它将被称为计算属性

extension Int {
    var isEven: Bool { 
        get { return self % 2 == 0 }
    }
}

但是,我正在为可设置和可获取的术语寻找术语。


我正在寻找一个术语的原因是,我想问一个与这些类型的属性有关的问题,并且希望使用通用的,不含糊的语言。我以为这将被称为v​​irtual property,但它似乎不是virtual has a different meaning in OOP的正确名称。

oop terminology
1个回答
0
投票

即使他们也有一个二传手,斯威夫特(至少)calls these "computed properties"(加了强调):

除了存储的属性之外,类,结构和枚举还可以定义计算的属性,而实际上不存储值。相反,它们提供了一个getter 和一个可选的setter以间接检索和设置其他属性和值。

© www.soinside.com 2019 - 2024. All rights reserved.