構造函數 :程序員
1.初始化對象,對象就是一個物化的東西,其一創造出來就是一個完整的物體,在面向對象這個體系中對象在使用以前就應該是初始化好的,不該讓別人去初始化。編程
ps:構造函數不去分配內存,其一new一個對象時new語句自己就是分配內存的,而不是構造函數分配的。其二靜態全局對象在main函數沒有運行以前就已經存在了。更別說去執行構造函數。而是由編譯器事先就分配好的,直接load內存使用。架構
2.爲對象分配資源函數
文件等資源的分配以及對象的使用分配堆內存spa
3.其它程序員認爲要作的事情。架構設計
對象的建立到對象的使用這個時間點要乾的事情,如,載入對象要用的庫,在析構函數中卸載庫設計
爲何要設計構造函數、析構函數 對象
1.更好的體現「物化」思想(自動性) 繼承
2.更好的封裝性(避免從外部初始化)接口
3.更有效地使類架構設計與程序架構設計分開
經過繼承派生的關係寫一個類庫。程序架構設計經過類建立一個個的對象(類是給編譯器看你的不參加實際的運算),對象之間組織起來的架構就是程序的架構。
4.致使更清晰的面向接口編程、更有效的複用
一個好的程序是接口到接口的去操做,接口去操做另外類的數據是很差的類設計形成的。