請使用Java、C#、C++或Python 等物件導向程式語言,建立矩陣相關
運算的系統,系統一共有三個類別,分別為抽象類別Matrix,實作類別
MatrixMultiply 及MatrixAdd,其中:(30分)
*抽象類別Matrix 中所有的變數跟方法皆為protected,主要包含了:
.matrix1, matrix2, resultM 三個實數值二維matrices 資料
.一個抽象的checkDimension( )方法,用來檢查matrix1跟matrix2是
否適合做所指定的運算
.一個抽象的matrixOperation()方法,用來對matrix1跟matrix2進行運算
.一個setMatrix()方法,可以將所傳入的兩個matrices 複製到matrix1,
matrix2
.改寫物件的toString()方法,可以顯示matrix1, matrix2及resultM 的
內容
*類別MatrixMultiply,繼承類別Matrix:
.實作Matrix 中的兩個抽象方法,分別可以實現父類別內matrix1及
matrix2進行乘法時的維度檢查及乘法運算,進行運算前會主動呼叫
checkDimension(),確定是否可以進行相關運算,如無法運算,
resultM 會被設定為null 並回傳,否則進行運算,結果存於父類別的
resultM 並回傳
.一個空建構子及一個可以接受兩個二維matrices 的建構子,建構子
中呼叫父類別的setMatrix()方法,設定matrix1及matrix2(空建構
子會將matrix1及matrix2設為null)
*類別MatrixAdd,同MatrixMultiply,僅實作抽象方法時,是以matrices
加法為對象,進行維度的檢查及運算