2017-02-10 104 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!"); 
}}