我正在用Java编写一个程序,它有一个包含另一个对象(控件)并包含另一个对象(controlType)的类对象(设备)
我遇到的问题是每个“controlType”都不同。
一个可能是一个开/关开关,可以获取和设置一个布尔值,但另一个可能是一个颜色选择器,可以获取和设置3个字节的RGB数据。
我考虑使用抽象的“controlTypeAbstract”类,但我不知道如何使用不同的数据类型。
有更好的方法吗?
public abstract class controlTypeAstract {
public abstract UnknownVariableType getData(){
}
public abstract void setData(UnknownVariableType data){
}
}
public class onOffSwitch extends controlTypeAstract {
Boolean isOn = false;
public boolean getData(){
return isOn;
}
public void setData(Boolean data){
isOn = data;
}
}
public class colorControl extends controlTypeAstract {
int redValue = 0;
int greenValue = 0;
int blueValue = 0;
public int[] getData(){
int data[];
return (new int[] {redValue, greenValue, blueValue});
}
public void setData(int[] data){
redValue = data[0];
greenValue = data[1];
blueValue = data[2];
}
}
答案 0 :(得分:0)
为了给出更好的答案,至少看看你已经实施/尝试了什么是有用的。
根据我的理解,我确实会有一个控件类型抽象类,它处理与controlTypes之间一样多的常用功能。然后每个不同的controlType扩展抽象父类。如果要在父类中声明抽象方法,那么让它们只将对象作为参数,然后在每个单独的controlType中专门处理该对象,就像在该上下文中所期望的那样。
很抱歉,如果我完全错过了你的问题......