面向对象点滴
??????1.面向對象最重要的幾個概念:對象,類,接口,封裝,繼承,多態。
????????????1. 對象:在面向對象編程里面,萬事萬物都被視為對象,對象是對數據和操作的封裝。
????????????2. 類:對一類對象的抽象。
????????????3. 接口:一組功能契約。
????????????4. 封裝:隱藏對象細節。
????????????5. 繼承:通過繼承使得不必編寫更多的代碼,增加代碼的復用性。
????????????6. 多態:面向對象非常好的特性,更是所有模式和構架的基礎。多態允許運行時決定實例化哪個子類,再結合反射機制,可以將該變化點推遲到配置文件。
?
??????2. CLR啟動程序時會創建3個應用程序域,分別為系統域,共享域和默認域。
????????????系統域:負責創建共享域和默認程序域。它將系統庫mscorlib.dll載入共享域。
????????????共享域:所有不屬于任何特定代碼將被加載到該域,包括基本類型等等。
????????????默認域:是應用程序域的一個實例,一般應用程序在此域運行。域之間的互訪問,要通過.net remoting代理來實現。每個應用程序域都有自己的加載堆(高頻堆,低頻堆,代理堆),句柄表,接口虛表管理器和程序集緩存。
??????3. 一個簡單應用程序從CLR啟動開始的一系列過程:
??????????CLR啟動程序創建系統域,系統域負責加載共享域和默認程序域的創建。加載共享域包括加載mscorlib.dll等核心庫。加載默認程序域,主要是加載客戶程序的各個類型方法表,該方法表按照先基類后子類的順序排列,方法表元素的順序是:繼承的虛方法,新的虛方法,實例方法,靜態方法。而對象的創建過程是,遞歸分配父類的內存空間并調用相應的構造函數初始化各字段,直到System.Object對象為止。對象內存中包含:snycblc(同步塊索引),TypeHandle(類型句柄,指向方法表),Instance Fields(實例字段),StringLiterals(字符串標簽).其中Instance Fields也是按照先父類再子類的順序創建。
??????4. 對于接口的實現機制?待深入
??????5. 對象繼承后,根據對象原則決定是調用父類的虛方法還是子類的虛方法;根據就近原則決定是調用父類的字段還是子類的字段。
?
轉載于:https://www.cnblogs.com/im/archive/2009/04/19/1439013.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
- 上一篇: 摄景基础知识一
- 下一篇: [转]要有梦----送给自己,希望自己能