從今天開始將給大家講解一些C++編程入門的知識(shí),對于我也是個(gè)溫習(xí)鞏固的過程。我將會(huì)用深入淺出的方式,盡量用最簡單的語言讓讀者學(xué)會(huì)C++語言,并愛上這門語言。
本前言講述的是編程語言的發(fā)展過程、面向?qū)ο蠓椒ā⒚嫦驅(qū)ο蟮幕靖拍畹葍?nèi)容。
語言大家都知道,計(jì)算機(jī)語言跟人類語言一樣有語法等規(guī)則,它是計(jì)算機(jī)可以識(shí)別的語言,用來描述解決問題的方法,計(jì)算機(jī)閱讀了它就可以做相應(yīng)的工作。利用語言描述解決問題的方法就生成了程序,程序是由很多指令組成的,計(jì)算機(jī)所能識(shí)別的指令是0和1的組合,所有這種指令組成的語言叫做機(jī)器語言。可以想象,全是1和0,對于軟件開發(fā)者來說編程是很難的,開發(fā)周期長,功能也做不復(fù)雜。后來出現(xiàn)了匯編語言,它就是把機(jī)器語言映射成一些人能讀懂的助記符,這樣就使得軟件開發(fā)容易點(diǎn)了,但是還是與人的思維差別很大,但這是一個(gè)跳躍式的進(jìn)步。最后出現(xiàn)了高級語言,抽象層次比較高了,程序中的數(shù)據(jù)命名都能很容易看出數(shù)據(jù)的含義,而且執(zhí)行語句也很容易理解。 20世紀(jì)60年代出現(xiàn)的結(jié)構(gòu)化編程語言更是進(jìn)了一大步,但是程序中的數(shù)據(jù)和操作分離,各自獨(dú)立,不能跟現(xiàn)實(shí)中的事物對應(yīng)起來。最后出現(xiàn)了面向?qū)ο缶幊陶Z言。
面向?qū)ο缶幊陶Z言把事物看成是具有屬性和行為的對象,然后通過抽象找出屬于同一類的事物的屬性和行為,就形成了類。通過類得繼承和多態(tài)可以很好的實(shí)現(xiàn)代碼復(fù)用,提高軟件開發(fā)效率。如果這塊不懂的話可以先盡量理解,通過后面的學(xué)習(xí)會(huì)慢慢理解這些概念。
20世紀(jì)80年代比較風(fēng)行結(jié)構(gòu)化程序設(shè)計(jì)方法,它的設(shè)計(jì)思路是,自上而下,逐步細(xì)化,將程序結(jié)構(gòu)按功能分成多個(gè)模塊,每個(gè)模塊可能又會(huì)分成多個(gè)模塊,這樣就形成了一個(gè)模塊的樹狀結(jié)構(gòu),各個(gè)模塊間的關(guān)系盡可能簡單,功能上相對獨(dú)立。每個(gè)模塊都是由順序、選擇和循環(huán)三種基本結(jié)構(gòu)組成。這種方法就將一個(gè)復(fù)雜的程序設(shè)計(jì)問題分成很多簡單細(xì)化的子問題,更便于開發(fā)維護(hù)。但是這種方法的缺點(diǎn)是數(shù)據(jù)和處理數(shù)據(jù)的方法各自獨(dú)立,如果數(shù)據(jù)結(jié)構(gòu)改變,所有相關(guān)的方法都要改變。這時(shí)就出現(xiàn)了面向?qū)ο笤O(shè)計(jì)方法,它將數(shù)據(jù)和方法放到一個(gè)整體里,這個(gè)整體就叫對象,同類型對象抽象成類,類中大部分?jǐn)?shù)據(jù)只能用本類中的方法處理,類通過簡單的外部接口與外界發(fā)生關(guān)系,而內(nèi)部的各種關(guān)系對外部是透明的。
下面介紹面向?qū)ο蟮膸讉(gè)基本概念:
1.對象。每個(gè)對象都是描述客觀存在事物的一個(gè)實(shí)體,都是由數(shù)據(jù)和方法(也可以叫屬性和行為)構(gòu)成。屬性是描述事物特征的數(shù)據(jù),行為描述對對象屬性的一些操作。
2.類。類是具有相同屬性和行為的一些對象的集合,它為所有屬于這個(gè)類的對象提供抽象的描述,比如麻雀和杜鵑都可以看作是對象,而鳥就可以看作類。
3.封裝。封裝就是把對象的所有屬性和行為結(jié)合成一個(gè)獨(dú)立的單位,對外隱藏對象的內(nèi)部細(xì)節(jié),只保留有幾個(gè)接口與外界聯(lián)系。
4.繼承。一個(gè)類(叫做子類)可以通過繼承另一個(gè)類(叫做父類)來擁有另一個(gè)類的所有屬性和行為。比如車和汽車,汽車從車?yán)^承,車的所有屬性和行為都繼承到了汽車上。
5.多態(tài)性。多態(tài)性就是說父類中的屬性和行為被子類繼承后,子類可以有自己不同于父類的屬性或行為。比如定義一個(gè)類“動(dòng)物”,它具有“吃”這個(gè)行為,但是具體怎么吃吃什么,不知道,因?yàn)椴恢赖降资莻(gè)什么“動(dòng)物”,如果從這個(gè)類繼承出子類“羊”和“老虎”,“吃”就成了具體的行為,怎么吃吃什么就都知道了。
最后再次聲明,本前言內(nèi)容可能對于新手來說講的還是有點(diǎn)難懂,但是不要擔(dān)心,通過在我博客后續(xù)的學(xué)習(xí)肯定會(huì)慢慢領(lǐng)會(huì)這些的,到那時(shí)你再回來看這些就會(huì)覺得很簡單了。
本文來源于雞啄米博客, 原文地址:http://www.jizhuomi.com/software/17.html