[英]how to make an abstract class or interface handle different data types
我正在用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];
}
}
為了給出更好的答案,至少要查看您已實施/嘗試過的內容很有用。
據我了解,我確實會擁有一個控件類型抽象類,該類處理與controlTypes之間一樣多的通用功能。 然后每個不同的controlType擴展抽象父類。 如果要在父類中聲明抽象方法,則讓它們僅將object作為參數,然后根據該上下文中的預期,在每個單獨的controlType中專門處理該對象。
抱歉,如果我完全錯過了您的問題的話...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.