Java 如何使抽象类或接口处理不同的数据类型
我正在用Java编写一个程序,它有一个类对象(设备),其中包含另一个对象(控件)和另一个对象(controlType) 我遇到的问题是每个“控制类型”都是不同的 一个可能是可以获取和设置布尔值的开/关开关,另一个可能是可以获取和设置3字节RGB数据的颜色选择器 我曾想过使用一个抽象的“controlTypeAbstract”类,但我不知道如何使用不同的数据类型 有更好的办法吗Java 如何使抽象类或接口处理不同的数据类型,java,rgb,Java,Rgb,我正在用Java编写一个程序,它有一个类对象(设备),其中包含另一个对象(控件)和另一个对象(controlType) 我遇到的问题是每个“控制类型”都是不同的 一个可能是可以获取和设置布尔值的开/关开关,另一个可能是可以获取和设置3字节RGB数据的颜色选择器 我曾想过使用一个抽象的“controlTypeAbstract”类,但我不知道如何使用不同的数据类型 有更好的办法吗 public abstract class controlTypeAstract { public abstr
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];
}
}
为了给出一个更好的答案,至少看看您已经实现/尝试了什么是有用的 据我所知,我确实有一个控件类型抽象类,它处理的公共功能与控件类型之间的功能一样多。然后每个不同的controlType扩展抽象父类。如果您想在父类中声明抽象方法,那么让它们将对象作为参数,然后在每个单独的controlType中按照上下文中的预期处理该对象
很抱歉,如果我完全没有理解您问题的要点…请添加一些代码示例。泛型可能是我现在正在阅读的关于泛型的答案。@user052211,还请添加希望如何使用类的示例。API通常由使用示例驱动。类的用户应该如何处理数据可能是不同类型的事实?调用者的代码会是什么样子?这可能是“在理想世界”中可以想象的例子,而不是你知道如何实现的东西。对不起,我很难解释,但你的回答很接近,但据我所知,我无法将一个基本体作为对象传递。我添加了代码,试图更好地表达我的观点。我的问题是我所谓的未知变量类型。在抽象类的时候,我不知道将传递什么类型的数据。我可能需要一个抽象类以外的东西,但我不知道那可能是什么。