我有一種奇怪的感覺,即當構造函數(shù)編寫不正確時,代碼開始變得更加復雜。最近,我一直在嘗試簡化并堅持較低級別的 oop 原則,以便代碼不會長成復雜的蜘蛛網(wǎng)。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條經(jīng)驗 獲得超5個贊
你根本做不到。
保證兩個整數(shù)不相等的唯一方法是只接受一個整數(shù)并以保證不等式的方式從中導出第二個整數(shù),例如加一。
public Foo(int x, int y)
{
this.x = x;
this.y = x + 1; // guaranteed not to be equal to x.
}
但是,如果您需要接受兩個值(例如,因為您需要比只分開一個值更大的靈活性),唯一合理的做法是在它們相等時拋出異常。
添加回答
舉報
0/150
提交
取消