2017-02-10 109 views
0

在我考上大學的日子裏。我對一個練習有一個簡單的問題。簡單的工廠方法模式考試解決方案

我必須編寫簡單的代碼。我有抽象類顏色與三個私人詮釋ValueR,ValueG,ValueB。我有方法print()。 好吧,它很簡單。

現在我必須寫下一個類Green,它將擴展我的抽象類。我必須將R/G/B的值設置爲0/255/0。並使用print()方法打印「我是綠色的」。

如何在沒有getter和setters的情況下設置值?我無法改變價值觀的公開性

任何解決方案?

+3

在基類中聲明一個具有三個參數的構造函數,並從具體類的構造函數中調用它。 – davidxxx

+0

你想在哪裏設置Factory Method模式? – 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!"); 
}}