2017-03-17 2 views
3

私はこれを持っていますSetting.classとそれはいくつかの変数があります。ゲッターとセッターを100個作成する必要がありますか?

private int timeRemember, timeConcentration; 
private boolean hearts, spades, diamonds, clubs; 

getterとsetterを作成する必要があることは知っていますが、50行のコードが必要です。 変数がもっとあれば、40としましょう。それは200ほどそうです。

私の質問は誰ですか?それとも私が知らないことがありますか?

+2

あなたはどのIDEを使用していますか?フィールドのすべてのゲッターとセッターを生成することができます。 –

+0

これはよく役立つかもしれませんhttps://projectlombok.org/ – Philippe

+1

私ができることを知っている、私はそれをしました。私はそれが人々の行うことであるかどうか不思議です。 – mafiozorek

答えて

0

が必要な場合は、クラス変数のゲッターとセッターはあなた次第です。これは、そのクラスがコード内の他の場所でどのように使用されているかによって異なります。あなたがわからない場合は、ゲッターとセッターを開発中に必要に応じて追加することができます。

しかし、現代の多くのJava IDEでは、gettersにsetter(EclipseやIntelliJなど)を自動生成できます。 IntelliJでは、[コード]> [生成...]メニューを使用してこれを行うことができます。

+3

私は2つの投票を得る方法が好きですが、コメントはありません。クラスデザインに言及しない例外を除いて、エポックと矛盾する私の答えには何も見ることができません。 – kunruh

+0

私は、フィールドを持つ代わりに、最終的な変数として定義されたキーを持つクラス内のすべての値を1つのマップで保持できると示唆していました。それから、私はその可能性を開くために地獄に落ちることに気付きました。正当な理由なしに物事を行うための「正しい」方法を指す準備ができている周りにはいつも「スマートな」男がいる。 –

6

インスタンス変数が40個ある場合、心配することがあります。あなたのクラスデザインにはおそらく問題があります。

一般に、10-11フィールドを超えるものはあまりにも多く考慮されます。

さらに、クラスに実際にゲッタとセッタが必要かどうかを尋ねることもできます。それは不変であることができますか?

0

Enums(各スーツのブールの代わりに)single responsibility(別の時間とカード)のクラスを作成し、実際にその変数を外部に公開する必要があるかどうかを尋ねることができますあなたのクラスの。

0

プロジェクトlombokをご覧ください。これは、多くの他のものの中で、注釈を使ってセッター/ゲッターの作成を「自動化」することを可能にします。

関連する問題