掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
プロパティとフィールドの違いとは? (ID:3311)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
# 今回はちゃんとしたソースでないので、コンパイルは無理です。 たとえば、Birthday: TDate;というプロパティに日付を入れて、Age:Integer;で年齢を読み出すとします。 メンバー関数だけだと、 obj.Birthday := 誕生日 obj.Age := CalcAge(obj.Birthday); 計算 Writeln(IntToStr(obj.Age));出力 となります。 プロパティで、Birthdayに対する書き込みをSetBirthdayにして、Ageを設定知るようにしておけば、 obj.Birthday := 誕生日 Writeln(obj.Age); ですみますよね。 ちなみに、Set〜,Get〜を、propertyを使用せずに使った場合(JavaのSetter,Getterも同様)、 obj.SetBirthday(誕生日); intAge := obj.GetAge(); Writeln(obj.Age); となります。 比べてみてどうでしょうか。 違いはわかりませんか? メンバ変数を使って、同じように2アクションだけで処理できるなら、メンバ変数を直接使ってもいいのではないですか?ただ、悪い設計だとは思いますが。 また、煩雑にならないのであれば、Get〜,Set〜を公開するようにしてもよいと思います。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.