2017-02-10 8 views
0

私の大学では試験があります。私は1つの運動について簡単な質問があります。シンプルファクトリーメソッドパターン試験用ソリューション

私は単純なコードを書く必要があります。私は、3つのプライベートint ValueR、ValueG、ValueBを持つ抽象クラスColorを持っています。メソッドprint()があります。 それは簡単です。

私は抽象クラスを拡張する次のクラスのGreenを書く必要があります。 R/G/Bの値を0/255/0に設定する必要があります。メソッドprint()を使って "私は緑色です"と印刷します。

getterおよびsetterなしで値を設定するにはどうすればよいですか?値の公開を変更することはできません

すべての解決策はありますか?

+3

基本クラスに3つの引数を持つコンストラクタを宣言して、それを具象クラスのコンストラクタから呼び出します。 – davidxxx

+0

ファクトリメソッドパターンはどこにありますか? – EngineeredBrain

答えて

0

私はそれを正しくしましたか?

public abstract class Color{ 

private int valueR; 
private int valueG; 
private int valueB; 

public Color (int valueR, int valueG, int valueB){ 
    this.valueR = valueR; 
    this.valueG = valueG; 
    this.valueB = valueB; 
} 

void print(){ 
} 
} 


class Green extends Color{ 

public Green(){ 
    super(0, 255, 0); 
} 

void print(){ 
    System.out.println("I am a green!"); 
}}