2013-06-01 31 views
0

我想知道是否存在一個確定特定類的不變量的確定過程,還是根據具體情況更改?代碼中的類不變量

顯然,這取決於某些變量,需要聲明,但我的問題是,

是否有某種指導我可以按照確定一個特定的類最好不變?

感謝時,他們適應

回答

1

契約式設計的概念會略微複雜的面向對象的語言。

類不變是類的每個實例在調用方法時保證具有的屬性(就像所有方法的公共前提條件一樣),並且作爲回報,每個方法和構造函數必須保證在他們終止(就像一個普通的後置條件)。

它們很適合表達一致性條件。對實際錢包進行建模的錢包類可能會使類不變,即所包含的金額總是正數。

類的不變式,像合約的其餘部分一樣,被繼承。方法的新實現必須提供與它們替換的方法相同的保證。

+0

嗯好吧,這有點幫助,我想我正在找出他們的竅門......只是慢慢地都是 – Jim