抽象類還是接口?
抽象類定義對象的基礎屬性,不易改變。接口則定義對基礎對象的擴展,並且爲了代碼複用,使用獨立的類實現接口的方法。在擴展時將基礎對象和行爲對象就像組合。
解決的問題:
- 代碼在多個子類中重複
- 運行時的行爲不容易改變
- 改變父類會牽一髮動全身,造成其他不想要的改變
- 實現了代碼複用
設計原則:
- 找到應用中可能需要變化之處,把它們獨立出來,不要和哪些不需要變化的代碼混在一起
- 針對接口編程,而不是針對實現編程
- 多用組合,少用繼承
策略模式結構圖:
抽象類還是接口?
抽象類定義對象的基礎屬性,不易改變。接口則定義對基礎對象的擴展,並且爲了代碼複用,使用獨立的類實現接口的方法。在擴展時將基礎對象和行爲對象就像組合。
解決的問題:
- 代碼在多個子類中重複
- 運行時的行爲不容易改變
- 改變父類會牽一髮動全身,造成其他不想要的改變
- 實現了代碼複用
設計原則:
策略模式結構圖:
查看一個程序或者動態鏈接庫依賴於哪些庫,用下面的命令: Cygwin: cygcheck libxx.dll Linux: ldd libxx.so Mac: otool -L libxx.dylib
安裝JDK1.6,照着在/etc/environment 中增加了JDK相關環境變量,今天開機後在登錄界面輸入密碼後回車,3秒後又彈出登錄界面,死活
把 project->配置屬性->c/c++->代碼生成->基本運行時檢查 爲 默認值 即可。
問題原因,如果在json model裏面放了非可序列化的對象就會導致這中問題,可序列化的就是那些基礎數據類型和集合類型,如果在裏面放個A