我有以下接口通用接口在Java中
public interface Group {
public Group add(Group g);
public Group sub(Group g);
public Group getAddInv();
public boolean isZero();
}
public interface Ring extends Group {
public Ring mul(Ring r);
public boolean isOne();
}
我現在想使這些接口通用,以確保這些方法只能呼籲相同的代數結構的元素。
例如,它應該有可能添加環的兩個元素,但不添加組的一個元素,且環中的一個元件。
我首先想到的是用<?超級環>爲組的方法,但沒有解決。我怎樣才能做到這一點?
更新:
public interface Group<T> {
public T add(T g);
public T sub(T g);
public T getAddInv();
public boolean isZero();
}
public interface Ring<T> extends Group<Ring<T>> {
public T mul(T r);
public boolean isOne();
}
那會是一個解決辦法?
順便說一句,你定義接口爲全臺,或只是爲了他們的元素?我認爲你不想讓整個團體的[直接]總和,但更好的二元操作的結果,作爲一個單一的元素 - 我是對嗎? – moonwave99
接口定義了單個元素。這是一個excersice我要解決編程類 - 和它的指令是可怕的...... – sge
我的數學是很生疏,但我覺得一個環是不是一個集團。例如,由於0,R不是一個組,並且R *因爲... 0而不是一個環。這種違反了OO原則:一個子類對象必須是超類對象 – Jerome