2015-10-06 33 views
0

你好,我想創建一個類爲各種規模的矩陣,然後方陣A類(會從第一個類繼承)想法一類矩陣的

所以我想是這樣那個:

public class MatrixDouble { 

    private int    m_nRows; 
    private int    m_nCols; 
    private double[][]  m_array; 

    public final void setSize(final int nbRows, final int nbCols) 
    { 
    setNbRows(nbRows); 
    setNbCols(nbCols); 
    } 

} 


public class MatrixDoubleSquare extends MatrixDouble { 

    public int getSize() { return super.getNbRows(); } 

    public void setSize(final int size) { super.setSize(size, size); } 
} 

但我有一個關於大小的問題,在第一課我需要兩個整數,而在第二課只有一個。

所以我認爲我必須以完全不同的方式開始 你能幫我寫出一個好的開始我的課程嗎?

我用Java編寫但現在只是僞代碼。

+1

這很好。我沒有看到你的擔憂。 –

+0

而不是一個新的類,只需爲方矩陣或標識矩陣等添加一個靜態初始化程序(工廠)。如果要實現新功能,則只需要一個新類。 – ja72

+0

我在這裏看不到語言標籤 –

回答

0

是的,一個矩陣類需要兩個輸入(尺寸),而一個方陣只需要一個。但是,那不會是一個問題。你可以這樣做:

public class MatrixDoubleSquare extends MatrixDouble { 
    public MatrixDoubleSquare(int size){ 
      super(size, size); 
    } 
.... 
} 

這只是一個僞代碼。它假定你有一個帶有構造函數的MatrixDouble類[MatrixDouble(int w,int h)]。

0

好的,謝謝你的回答,但我想知道它是否正常,因爲它可能有點尷尬。

我可以這樣做:

int size = 3; 
MatrixDoubleSquare M = new MatrixDoubleSquare(size); 

,然後做:

M.setNbRows(4); 

與屬於類功能setNbRows()MatrixDouble,最後我的矩陣不是方:/

這就是爲什麼我認爲我可以做一個抽象類m_nbRowsm_nbCols作爲成員,然後一個分類對於任何大小的矩陣和對於矩陣矩陣的另一個類,並且只有任意大小的矩陣的類將具有方法setNbRowssetNbCols,並且類Dor方陣將具有將修改成員m_nbCols和m_nbRows的方法setSize

對不起,我看到了不同的方式來做到這一點,但我不知道哪個是好的,哪一個最簡單,我很困惑。