c++物件導向技術

來源:互聯網
上載者:User
1.物件導向技術的基本概念是什嗎?
對象,類和繼承。
2.虛函數與多態
虛函數就是允許被其子類重新定義的成員函數。而子類重新定義父類虛函數的做法,被稱為“覆蓋”(override)。
多態性是允許你將父物件設定成和它一個或更多的子物件相等的技術,賦值之後,父物件就可以根據當前賦值給它的子物件以不同的方式運作。簡單的說,就是:允許將子類類型的指標賦值給父類類型的指標。多態性在c++中是通過虛函數實現的。
3.多態的作用是什嗎?
封裝可以隱藏實現細節,使得代碼模組化;繼承可以擴充已存在的代碼模組(類);它們的目的都是為了代碼重用。而多態則是為了實現另一個目的——介面重用!
4.介面
C++實際沒有介面這個關鍵字,他是用抽象類別的純虛函數來實現的。
5.關於類
類的私人內部表示被稱為是封裝的(encapsulated),而類的共有部分被稱為類介面(class interface)。
共有成員:在程式的任何地方都可以被訪問。實行資訊隱藏的類將其public成員限制在成員函數上。要訪問成員函數,必須要定義類對象。
私人成員:只能被成員函數和類的友元訪問,實行資訊隱藏的類把其資料成員聲明為private。
被保護成員:對衍生類別就像public一樣,對其他程式表現的像private一樣。在無繼承的類中,protected和private控制符是沒有差別的。
6.共有繼承,私人繼承,保護繼承
在公有繼承時,衍生類別的對象可以訪問基類中的公有成員,衍生類別的成員函數可以訪問基類中的公有成員和保護成員。
在私人繼承時,基類成員對衍生類別對象來說,基類的所有成員都是不可見的。
                             對衍生類別來說,基類的公有成員和protected成員是可見的,可以用成員函數來訪問。
私人繼承意味著基類的成員,不能被後來的類再繼承了。
在保護繼承時,基類的共有成員和保護成員都作為衍生類別的保護成員,這意味著它們可以被“後來從該類派生的類”訪問,但不能在階層之外被訪問。
7.虛函數繼承與虛擬繼承
這兩個概念很容易混淆。
虛函數繼承,其實就是虛函數。只不過虛函數肯定是用在繼承中,不然也沒有必要存在了。它是指一個動態綁定的過程。
虛擬繼承是多重繼承中特有的概念,它是指子類中只保留父類的父類……中的一個變數,從而不會使子類中包含父類同一個成員多次。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.