簡體   English   中英

如何使抽象類或接口處理不同的數據類型

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM