C++語(yǔ)言真的那么好用嗎?
想要學(xué)好C++語(yǔ)言這門(mén)語(yǔ)言之前,首先要了解C++語(yǔ)言是一種應(yīng)用較廣的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,使用它可以實(shí)現(xiàn)面向?qū)ο蟮某绦蛟O(shè)計(jì)。面向?qū)ο蟮脑O(shè)計(jì)與面向過(guò)程的設(shè)計(jì)是有很大區(qū)別的。
要學(xué)會(huì)面向?qū)ο蟮某绦蛟O(shè)計(jì),首先要學(xué)會(huì)一種面向?qū)ο蟮?FONT>C++語(yǔ)言,即要學(xué)會(huì)用VC編程,就要先有C++的基礎(chǔ),而學(xué)習(xí)C++語(yǔ)言首先要認(rèn)識(shí)它面向?qū)ο蟮奶匦院蛯?shí)現(xiàn)面向?qū)ο蟮姆椒ā?/P>
C++是一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言
當(dāng)你***學(xué)習(xí)C++時(shí),總會(huì)碰到一些在C語(yǔ)言從未見(jiàn)過(guò)的概念,如:類(lèi)、對(duì)象、抽象、封裝、繼承、多態(tài)性、虛函數(shù)等等。這些概念是C++所具有,下面簡(jiǎn)單的介紹一下C++ 對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)方法的支持和實(shí)現(xiàn)。
1、C++支持?jǐn)?shù)據(jù)封裝支持?jǐn)?shù)據(jù)封裝就是支持?jǐn)?shù)據(jù)抽象。在C++中,類(lèi)是支持?jǐn)?shù)據(jù)封裝的工具,對(duì)象則是數(shù)據(jù)封裝的實(shí)現(xiàn)。面向過(guò)程的程序設(shè)計(jì)方法與面向?qū)ο蟮某绦蛟O(shè)計(jì)方法在對(duì)待數(shù)據(jù)和函數(shù)關(guān)系上是不同的,在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,將數(shù)據(jù)和對(duì)該數(shù)據(jù)進(jìn)行合法操作的函數(shù)封裝在一起作為一個(gè)類(lèi)的定義,數(shù)據(jù)將被隱藏在封裝體中,該封裝體通過(guò)操作接口與外界交換信息。
對(duì)象被說(shuō)明具有一個(gè)給定類(lèi)的變量,類(lèi)類(lèi)似于C語(yǔ)言中的結(jié)構(gòu),在C語(yǔ)言中可以定義結(jié)構(gòu),但這種結(jié)構(gòu)中包含數(shù)據(jù),而不包含函數(shù)。C++中的類(lèi)是數(shù)據(jù)和函數(shù)的封裝體。在C++中,結(jié)構(gòu)可作為一種特殊的類(lèi),它雖然可以包含函數(shù),但是它沒(méi)有私有或保護(hù)的成員。
2、C++類(lèi)中包含私有、公有和保護(hù)成員C++類(lèi)中可定義三種不同訪控制權(quán)限的成員。一種是私有(Private)成員,只有在類(lèi)中說(shuō)明的函數(shù)才能訪問(wèn)該類(lèi)的私有成員,而在該類(lèi)外的函數(shù)不可以訪問(wèn)私有成員;另一種是公有(Public)成員,類(lèi)外面也可訪問(wèn)公有成員,成為該類(lèi)的接口;還有一種是保護(hù) (Protected)成員,這種成員只有該類(lèi)的派生類(lèi)可以訪問(wèn),其余的在這個(gè)類(lèi)外不能訪問(wèn)。
3、C++中通過(guò)發(fā)關(guān)消息來(lái)處理對(duì)象C++中是通過(guò)向?qū)ο蟀l(fā)關(guān)消息來(lái)處理對(duì)象的,每個(gè)對(duì)象根據(jù)所接收到的消息的性質(zhì)來(lái)決定需要采取的行動(dòng),以響應(yīng)這個(gè)消息。響應(yīng)這些消息是一系列的方法,方法是在類(lèi)定義中使用函數(shù)來(lái)定義的,使用一種類(lèi)似于函數(shù)調(diào)用的機(jī)制把消息發(fā)送到一個(gè)對(duì)象上。
4、C++語(yǔ)言中允許友元破壞封裝性類(lèi)中的私有成員一般是不允許該類(lèi)外面的任何函數(shù)訪問(wèn)的,但是友元便可打破這條禁令,它可以訪問(wèn)該類(lèi)的私有成員(包含數(shù)據(jù)成員和成員函數(shù))。友元可以是在類(lèi)外定義的函數(shù),也可以是在類(lèi)外定義的整個(gè)類(lèi),前者稱(chēng)友元函數(shù),后者稱(chēng)為友元類(lèi)。友元打破了類(lèi)的封裝性,它是C++另一個(gè)面向?qū)ο蟮闹匾?/P>
【編輯推薦】