一、類 具有相同或相似性質的對象的抽象就是類 類是對象的抽象,對象則是類的特例(具體化) 類具有屬性,它是對象的狀態的抽象,用數據結構來描述類的屬性 類具有行為,它是對象的行為的抽象,用操作名和實現該操作的方法來描述 二、封裝(信息隱藏) 將抽象出的數據成員、成員函數相結合,將它們視為一個整體 封裝有兩層含義 將有關數據和操作代碼封裝在一個對象中,形成一個基本單位,各個對象之間相互獨立、互不干擾 將對象某些部分對外隱蔽,即隱蔽其內部細節,只留下少量接口,以便與外界聯系,接收外界的消息 封裝有利于數據安全,防止無關人員了解和修改數據 三、繼承 繼承是子類自動共享父類數據結構和方法的機制 在定義和實現一個類的時候,可以在一個已經存在的類的基礎之上來進行,把這個已經存在的類所定義的內容作為自己的內容,并加入若干新的內容 在類層次中,子類只繼承一個父類的數據結構和方法,則稱為單重繼承 在類層次中,子類繼承了多個父類的數據結構和方法,則稱為多重繼承 通過類的繼承關系,使公共的特性能夠共享,提高了軟件的重用性 四、多態性 多態性使指相同的操作或函數可作用于多種類型的對象上并獲得不同的結果 不同的對象,收到同一消息可以產生不同的結果,這種現象稱為多態性 多態性允許每個對象以適合自身的方式去響應共同的消息 多態性增強了軟件的靈活性和重用性 實現:重載函數和虛函數 程序編譯時實現的多態性屬于靜態的多態性。靜態的多態性又叫重載 程序運行時實現的多態性稱為動態的多態性 動態多態性使不同對象中的同名函數在程序運行中遇到調用請求時自動選擇正確的執行代碼 動態實現的多態性使程序具有識別外部事件的智能,使面向對象的程序能夠很好地模擬客觀世界中各種真實事件隨機發生的事實 六、類和對象的關系 類是對象的抽象、對象是類的具體實例 類是抽象的,不占用內存;對象是具體的,占用存儲空間 七、類的定義 公有類型成員 在關鍵字public后面聲明,它們是類與外部的接口。 公有類型成員既可以被本類中的成員函數引用,也可以被類作用域內的其他函數引用 私有類型成員 在關鍵字PRivate后面聲明,只允許本類中的函數訪問,而類外部的任何函數都不能訪問(友元類例外) 如果緊跟在類名稱的后面聲明私有成員,則關鍵字private可以省略 保護類型成員 在關鍵字protected后面聲明,不能被類外函數訪問,但可以被派生類的成員函數訪問。 數據成員 與一般的變量聲明相同,但需要將它放在類的聲明體中 除了靜態數據成員外,數據成員不能在類體中被顯式地初始化 成員函數 用法和作用和一般函數基本上是一樣的,也有返回值和函數類型 與一般函數的不同之處在于它是一個類的成員,出現在類體中 需要被外界調用的成員函數指定為public,不準備為外界調用,而為本類其他成員函數調用的函數指定為private
新聞熱點
疑難解答