關於值物件的思考

2021-09-26 20:33:27 字數 775 閱讀 7948

使用值物件模式的好處。

一般我們操控類內屬性都是get和set方法,很常用也很好用。

class

myclass

但是我們在操控類的過程中,自己不小心或第三方介面使用者誤呼叫了set方法導致myclass類內狀態發生變化,這個是我們不想要的。

應該對類加以限制,那麼該如何限制。這時候我們可以用builder模式,它是乙個唯讀物件,但builder模式使用起來比較繁瑣

有沒有更簡單的唯讀物件呢?

答案肯定的,就是使用值物件,通過類的建構函式設定屬性

class

myclass

;

上面**我們可以看到myclass類不再提供設定屬性的方法,只提供讀的方法。如果需要設定myclass類內屬性只能通過重新建立myclass的物件方式去設定,這方法就很好地避免被它人隨便修改了。

這種方法就像是http請求一樣,無狀態,用起來讓人感覺踏實安心,但是它有乙個致命的缺點是構造函式引數不能過多。

關於物件的思考(一)

最近重溫關於物件導向方面的知識,將重點記錄下來。1 組合實際上是聚集關係的一種特殊形式。乙個物件可以被幾個其他聚集物件所擁有。如果乙個物件只歸屬於乙個聚類物件,那麼它和聚集物件之間的關係就成為組合。例如 乙個學生有乙個名字 就是學生類student與名字類name之間的乙個組合關係,而 乙個學生有乙...

關於物件導向的一些思考

物件導向方法被人談論了二十多年了。我接觸它比較晚,直到九十年代中期才開始學習使用它。若說對這個方法做些評價,那還真是大言不慚了。不過這麼些年來,也週期性的對物件導向做些思考。或對或錯,我想都值得總結一下。一家之言,來看的同學不必太當真。首先我們要區分一下 基於物件 和 物件導向 的區別。基於物件,通...

一些關於物件導向的思考

python是一門神奇的語言,看了看裡面一些關於物件導向的描述。覺得挺受啟發的,在c 中同樣適用。主要觀點出自magnus lie hetland的 python基礎教程 1 將屬於一類的物件放在一起。如果乙個函式操縱乙個全域性變數,那麼兩者最好都在類內作為特性和方法出現。2 不要讓物件過於親密。方...