Java中的对象接口
我有接口Java中的对象接口,java,Java,我有接口 public interface Arithmetic { Object sum(Object o); } 我需要在矩阵类中指定一个求和函数 public class Matrix implements Arithmetic{ int[][] data; public Matrix ... public Object sum(Object o){ // then I have to add two matrix } } 请告诉我,当第一个矩阵类型为int[][],而第
public interface Arithmetic {
Object sum(Object o);
}
我需要在矩阵类中指定一个求和函数
public class Matrix implements Arithmetic{
int[][] data;
public Matrix ...
public Object sum(Object o){
// then I have to add two matrix
}
}
请告诉我,当第一个矩阵类型为int[][],而第二个类型为Object时,如何添加两个矩阵
public interface Arithmetic<T> {
T sum(T o);
}
然后可以访问o
的矩阵属性
请注意,如果将操作移动到单独的类中,您可能会发现设计清理器,例如
class MatrixArithmetic {
static Matrix sum(Matrix a, Matrix b) {...} // Element-wise addition of matrices.
static Matrix sum(Matrix a, int constant) {...} // Add constant to all elements
}
我认为这是一个更好的设计,因为:
- 它将算术实现与数据结构的实现分离开来李>
- 它允许您使用不同的
方法<代码>实现算术排除了sum
(仅作为示例)李>实现算术
- 它允许您添加由于特定原因而需要的“新”算术方法,而无需更改
类,从而实现算法的更好模块化算术
算术
通用:
public interface Arithmetic<T> {
T sum(T o);
}
然后可以访问o
的矩阵属性
请注意,如果将操作移动到单独的类中,您可能会发现设计清理器,例如
class MatrixArithmetic {
static Matrix sum(Matrix a, Matrix b) {...} // Element-wise addition of matrices.
static Matrix sum(Matrix a, int constant) {...} // Add constant to all elements
}
我认为这是一个更好的设计,因为:
- 它将算术实现与数据结构的实现分离开来李>
- 它允许您使用不同的
方法<代码>实现算术排除了sum
(仅作为示例)李>实现算术
- 它允许您添加由于特定原因而需要的“新”算术方法,而无需更改
类,从而实现算法的更好模块化算术