Java没有。 (这只是惯例)
德尔福。 我相信C#的确如此。
还有其他语言吗?
修改 我应该举个例子:
德尔福:(要注意,已经有一段时间了,我可能会犯这个错误) type
TSomething = class
fEmployeeNum: String;
property employeeNum: String read fEmployeeNum write setEmployeeNum;
end;
procedure TSomething.setEmployeeNum(var val: String);
begin
fEmployeeNum := val;
end;
答案 0 :(得分:3)
C#(只是提供一个例子):
class Foo
{
public string Bar { get; private set; }
public string Bargain
{
get { return this._Bargain; }
set { this._Bargain = value; }
}
private string _Bargain;
}
答案 1 :(得分:3)
Ruby经过attr_reader
,attr_writer
和attr_accessor
(用于读/写):
class SomeClass
attr_reader :foo #read-only
attr_writer :bar #write-only
attr_accessor :baz #read and write
...
end
答案 2 :(得分:3)
Python确实。
class SomeClass( object ):
def f_get( self ):
return self.value
fprop = property( f_get )
setter的代码类似。
答案 3 :(得分:1)
VB.NET通过Property关键字。
答案 4 :(得分:1)
C ++不符合标准,但您可以通过模板创建容量。
答案 5 :(得分:0)
objective c你可以使用synthesize关键字来保持懒惰。
答案 6 :(得分:0)
在Perl 6中,
use v6;
sub foo() is rw {
state $foo;
return new Proxy:
FETCH => method { return $foo },
STORE => method($to) { $foo = $to };
}
foo = "Hello, world!";
say foo;
......至少在理论上。似乎不适用于Rakudo r38250。