2015-12-30 17:14:01 1186瀏覽
c++語言起源于C語言,移動終端霸主iOS系統(tǒng)中同樣了包含了c++語言。c++是在c語言的基礎(chǔ)上增加了面向?qū)ο蟪绦蛟O(shè)計的要素而發(fā)展起來的。c++語言是當(dāng)今應(yīng)用最廣泛的面向?qū)ο蟮某绦蛟O(shè)計語言,因此具有面向?qū)ο蟪绦蛟O(shè)計的特點。C++的主要特點如下。
coding學(xué)堂介紹c++編程主要特點:
1、繼承性
所謂類不過是對一種“工種”的描述,而類的對象,就對應(yīng)為擔(dān)當(dāng)這種“工種”的工人。接下來舉另一種“工種”——教師來說明繼承的概念。教師的工作是備課、上課、批作業(yè)、監(jiān)考、改卷,等等,這些都是作為教師這個“類”的方法,而對于一個老師來說,教齡和執(zhí)教年級也不同,所以這些就屬于教師這個“類”的成員變量。那么,假設(shè)現(xiàn)在有兩個老師,一個張老師,一個趙老師,按以前的說法,這兩個老師就是教師這一個工種的對象,那么就應(yīng)該是相同的。事實不是如此。因為張老師是語文老師,而趙老師則是數(shù)學(xué)老師,自然有所不同。換而言之,教師這個工種是一個大工種,還有更細的分工,就如上面所言的數(shù)學(xué)老師、語文老師,以及物理、化學(xué)老師等。所有老師共有的工作大家都有,只是實現(xiàn)方式上各有不同。在面向?qū)ο蟮恼Z言里,也有這種現(xiàn)象的模擬,叫做“繼承”。我們可以這樣說,語文教師繼承了教師,數(shù)學(xué)教師也繼承了教師,兩者都繼承了教師,所以都擁有教師該具備的素質(zhì)(指能夠備課、講課等能力),又根據(jù)自身學(xué)科的不同而有所不同。在c++里,我們把教師這個職業(yè)叫做基類,語文教師、數(shù)學(xué)教師等叫做派生類。從這個例子中很容易看出,所謂基類,擁有的是派生類共有的方法和屬,|生,派生類則根據(jù)自身的特點對這些方法進行實現(xiàn),對這些屬性進行操作。
2、封裝性
封裝是把函數(shù)和數(shù)據(jù)封藏起來,把它看成一個有機整體。封裝是面向?qū)ο蟮闹匾卣?,首先它實現(xiàn)了數(shù)據(jù)隱藏,保護了對象的數(shù)據(jù)不被外界隨意改變;其次它使對象成了相對獨立的功能模塊。對象好像是一個黑盒子,表示對象屬性的數(shù)據(jù)和實現(xiàn)各個操作的代碼都被封裝在黑盒子里,從外面是看不見的。更為形象的比喻,好比造樓房需要設(shè)計人員、泥水匠、漆匠、水電工、監(jiān)查人員、裝修人員等不同工種的人來共同完成一樣,在編程時,也需要不同“工種”的人。這里所謂“工種”就是能夠完成某項工作的“類”,所謂“工人”就是類的對象。c++中通過建立類這個數(shù)據(jù)類型來支持封裝性。使用對象時,只需知道它向外界提供的接口,而無需知道它的數(shù)據(jù)結(jié)構(gòu)細節(jié)和實現(xiàn)操作的算法。
3、多態(tài)性
繼續(xù)以教師的例子來說明。對于學(xué)校來說,基本的物理單位就是教室,教室是教師用來上課的地方,可是教室沒有規(guī)定具體哪一個老師才能來上課,對它來說,它只提供老師上課的地點,也就是說它只知道老師會來這里上課,具體誰來上,怎么上就不關(guān)它的事了。當(dāng)然,雖然教室沒有做硬性規(guī)定,學(xué)生,rr]也不會擔(dān)心,因為每個老師都知道自己該怎么上課。像這種情況,教室只要求了一個大工種(教師)的限制,而具體每個老師過來怎么上則由老師自己的具體工種(語文老師還是數(shù)學(xué)老師)來決定。在c++里也有模擬,就叫做多態(tài)。有了多態(tài)之后,我們在設(shè)計軟件的時候,就可以從大的方向進行設(shè)計,而不必拘泥于細微末節(jié),因為具體怎么操作都由對象自己負責(zé)。
在游戲開發(fā)領(lǐng)域中,由于c++在工程性、運行效率及維護性上都有很大優(yōu)勢。所以大部分網(wǎng)絡(luò)游戲和單機游戲都是用C++編寫的。扣丁學(xué)堂專注于iOS開發(fā)培訓(xùn)及其Android開發(fā)培訓(xùn)。同時還含有其所屬基礎(chǔ)編程語言,有興趣的讀者可以在線免費學(xué)習(xí)教程視頻。
查看更多關(guān)于“iOS資訊”的相關(guān)文章>>