Python类具有这个简洁的功能,您可以使用@property
装饰器来装饰类方法,这使得该方法显示为静态值成员而不是可调用成员。例如,这个:
class A(object):
def my_method(self):
return "I am a return value."
@property
def my_property(self):
return "I am also a return value."
会导致以下行为:
>>> a = A()
>>> a.my_method()
'I am a return value.'
>>> a.my_property
'I am also a return value.'
最后,我的问题是:是否有任何内置语法在ES6类中提供类似的行为?我还不是文档专家(但是)到目前为止我没有看到任何提供此类功能的内容。
答案 0 :(得分:6)
是的,它被称为getter.
class A {
my_method() {
return "I am a return value.";
}
get my_property() {
return "I am also a return value.";
}
}
答案 1 :(得分:0)
要尝试正确封装,请使用私有变量(带有 elseif ($vhdrename -match 'disk[-_]_?4') {
$vhdname = "$newname-datadisk04"
Write-Host "VM name is"$vhdname -ForegroundColor Yellow
}
elseif ($vhdrename -match 'disk[-_]-4') {
$vhdname = "$newname-datadisk04"
Write-Host "VM name is"$vhdname -ForegroundColor red
}
前缀 - 注意作为约定,我使用 'disk[-_]\-4'
表示私有,__
表示受保护)并将您的私有变量与公共(getter)变量:
__
然后在代码中的某个点...
_