Programming languages 哪些语言具有可以分配getter和setter的属性?
Java没有。这只是惯例 德尔福有。 我相信C是的 其他语言有哪些功能 编辑: 我应该举个例子:Programming languages 哪些语言具有可以分配getter和setter的属性?,programming-languages,properties,Programming Languages,Properties,Java没有。这只是惯例 德尔福有。 我相信C是的 其他语言有哪些功能 编辑: 我应该举个例子: class Foo { public string Bar { get; private set; } public string Bargain { get { return this._Bargain; } set { this._Bargain = value; } } private string _Bargain; }
class Foo
{
public string Bar { get; private set; }
public string Bargain
{
get { return this._Bargain; }
set { this._Bargain = value; }
}
private string _Bargain;
}
德尔菲:小心,已经有一段时间了,我可能弄错了
type
TSomething = class
fEmployeeNum: String;
property employeeNum: String read fEmployeeNum write setEmployeeNum;
end;
procedure TSomething.setEmployeeNum(var val: String);
begin
fEmployeeNum := val;
end;
VB.NET通过属性关键字进行操作。VB.NET通过属性关键字进行操作。C++不在标准之下,但您可以通过模板创建容量。C++不在标准之下,但您可以通过模板创建容量。C只是提供一个示例:
class Foo
{
public string Bar { get; private set; }
public string Bargain
{
get { return this._Bargain; }
set { this._Bargain = value; }
}
private string _Bargain;
}
C只是提供了一个例子:
class Foo
{
public string Bar { get; private set; }
public string Bargain
{
get { return this._Bargain; }
set { this._Bargain = value; }
}
private string _Bargain;
}
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
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
Python确实如此
class SomeClass( object ):
def f_get( self ):
return self.value
fprop = property( f_get )
setter的代码与此类似。Python也一样
class SomeClass( object ):
def f_get( self ):
return self.value
fprop = property( f_get )
setter的代码与此类似。您可以使用synthesis关键字懒惰。您可以使用synthesis关键字懒惰。在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一起使用。在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不起作用。我认为这应该是一个社区wiki问题,因为没有最好的答案。C确实支持传统的getter和setter,并且它还有一个针对懒惰编码者的简短形式:即:public string myString{get;set;}@s。很好!我时不时会忘记这一点。我认为这应该是一个社区维基问题,因为没有最好的答案。C确实支持传统的getter和setter,而且它还有一个针对懒惰编码者的简短形式:即:public string myString{get;set;}@s。很好!我时常忘记这一点。你能提供一个简单的例子吗?X类;属性读取器:foo,def initializefo@foo=foo;终止终止新的'ape'。foo=>'ape'谢谢rampion,但我希望能有一个像这里其他人一样的格式很好的。无论如何,把它作为你自己的答案贴出来,我会投赞成票。这整件事无论如何都应该是CW,但我会添加一个例子。你能提供一个简单的例子吗?X类;属性读取器:foo,def initializefo@foo=foo;终止终止新的'ape'。foo=>'ape'谢谢rampion,但我希望能有一个像这里其他人一样的格式很好的。无论如何,把它作为你自己的答案贴出来,我会投赞成票。这整件事无论如何都应该是CW,但我会加上一个例子。+1给出了常规方式和自动特性的例子。+1给出了常规方式和自动特性的例子。实际上,这就是问题的灵感所在。事实上,这就是这个问题的灵感所在。