我有一種奇怪的感覺,即當構造函數編寫不正確時,代碼開始變得更加復雜。最近,我一直在嘗試簡化并堅持較低級別的 oop 原則,以便代碼不會長成復雜的蜘蛛網。https://softwareengineering.stackexchange.com/questions/181850/are-exceptions-an-oop-concept我問的問題可能是不可能的。public class Foo{ private int x; private int y; public Foo(int x, int y) { this.x = x; this.y = y; }}總是這樣---->foo.getX() != foo.getY();
1 回答

RISEBY
TA貢獻1856條經驗 獲得超5個贊
你根本做不到。
保證兩個整數不相等的唯一方法是只接受一個整數并以保證不等式的方式從中導出第二個整數,例如加一。
public Foo(int x, int y)
{
this.x = x;
this.y = x + 1; // guaranteed not to be equal to x.
}
但是,如果您需要接受兩個值(例如,因為您需要比只分開一個值更大的靈活性),唯一合理的做法是在它們相等時拋出異常。
添加回答
舉報
0/150
提交
取消