2009-05-18 10 views
1

Javaはありません。 (ただの大会です)getterとsetterを割り当てることができるプロパティはどの言語にありますか?

デルファイします。 私はC#が信じています。

その他の言語は何ですか?

編集:

デルファイ::私は例与えているはずです

type 
    TSomething = class 
    fEmployeeNum: String; 
    property employeeNum: String read fEmployeeNum write setEmployeeNum; 
    end; 

procedure TSomething.setEmployeeNum(var val: String); 
begin 
    fEmployeeNum := val; 
end; 
+1

私はこれがコミュニティのwikiに関する質問であるべきだと考えています。なぜなら、「ベスト」となる「答え」がないからです。 –

+0

C#は従来型のゲッターとセッターをサポートしていますが、レイジーコーダーのための短い形式もあります:) I.E .: public string myString {get;セット; } –

+0

@S。ロット良い点!私は時々それを忘れる。 – cgp

答えて

3

Pythonはありません。

class SomeClass(object): 
def f_get(self): 
    return self.value 
fprop = property(f_get) 

セッターのコードは似ています。

+0

実際、これが質問のインスピレーションでした。 – cgp

1

VB.NETは、プロパティを介して行います(用心が、それはしばらくしている、私はこの間違ったを得ることができます)キーワード。

1

C++は標準ではありませんが、テンプレートを使用して容量を作成できます。

3

C#がない(単なる一例を提供する):

class Foo 
{ 
    public string Bar { get; private set; } 
    public string Bargain 
    { 
     get { return this._Bargain; } 
     set { this._Bargain = value; } 
    } 
    private string _Bargain; 
} 
+0

+1従来の方法と自動プロパティの両方の例を示します。 –

3

Rubyはattr_readerattr_writer、及びattr_accessor(読み取り/書き込み用)を介して行います

class SomeClass 
    attr_reader :foo #read-only 
    attr_writer :bar #write-only 
    attr_accessor :baz #read and write 

    ... 
end 
+0

簡単な例がありますか?クラスX; –

+0

; attr_reader:foo、def初期化(foo); @foo = foo;終わり ;終わり ; X.new( 'ape')。foo#=> 'ape' – rampion

+0

ありがとうございました。しかし、私はここの他のようなきれいにフォーマットされたものを望んでいました。是非あなた自身の答えとして投稿し、私はそれを投票します。 –

0

objective cあなたはsynthesizeキーワードで怠けることができます。 Perl 6の中

0

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で動作しないようです。

関連する問題