2012-01-19 22 views
1

可能性の重複:
What should the accessablity of Fields in a Abstract Class be?抽象クラスのパブリックフィールド?

抽象クラスでpublicフィールドを使用するには、悪い習慣ですか?私がこれを求めているのは、抽象クラスから継承するときに私はサブクラスのプライベートフィールドにアクセスできないので、これを唯一の方法は私が知る限り、フィールドをパブリックにするか、フィールドにアクセスするためのメソッドの取得/設定...どのプラクティスがベストですか?

答えて

6

常に保護フィールドがある

5

ベストプラクティスは、おそらく保護や公共、ゲッターとセッターを使用することです。

すべての実装が同じパッケージまたはモジュール内の抽象クラス自体で開発されるため、getterとsetterを使用するとオーバーキルのように見える場合は、保護されたフィールドを使用できます。私はベストプラクティスではなく、実用的な選択肢と考えています。

+0

参照http://stackoverflow.com/questions/2279662/java-protected-fields-vs-public-getters – Raedwald

1

保護されたメンバーは、クラスまたは派生クラスからのメンバーへのアクセスを許可するため、より適切な選択肢です。

このように、articleでは、Javaプログラムのメンバー機能の可視性が確認されています。 記事には、さまざまなJavaアクセサのための素敵なテーブルが含まれています。