|
很多學(xué)生知道C語言,是因為要考全國計算機(jī)等級,對于C++不熟悉,而對于java更多的來源于手機(jī)上的游戲,然而他們?nèi)咧g存在著親密的關(guān)系。有哪些你呢?北大青鳥現(xiàn)在告訴你。
從文件結(jié)構(gòu)上看規(guī)律
C,C++,Java從數(shù)據(jù)結(jié)構(gòu)上容易聯(lián)系起來。但是從他們的程序設(shè)計方式來看,相差很大。比如:C,C++,都有那個子源文件,而JAVA中就沒有,JAVA就是各種各樣的包,包里面就是很多的類。類里面有很多的函數(shù),這跟C,C++,長的一點(diǎn)都不像。那么怎么過度過來呢?
C語言和硬件聯(lián)系的緊密,所以發(fā)展的不能太遠(yuǎn),所以還沒發(fā)展到類呢,而C++就幫C語言繼續(xù)往上發(fā)展,終于發(fā)展到類了,但是C++只是在C的基礎(chǔ)上改進(jìn),它不會從根本上改變。所以C++還是保留了那些多源文件的設(shè)計,類只能處在某個子源文件中。舍不得放開,所以C++不是正宗的面向?qū)ο蟪绦蛟O(shè)計語言。而JAVA則不同,它摒棄了C/C++,那種放不開的劣勢,把類徹底的從源文件中釋放出來,讓一個類就代表一個源文件,以前你要做幾個源文件,現(xiàn)在我只要做幾個類,再把這幾個類放到一個包下面,我就可以做更大的程序。所以JAVA是真正的面向?qū)ο蟮某绦蛟O(shè)計語言。然而JAVA離硬件比較遠(yuǎn)了,直接操作硬件就不如C、C++了,而操作系統(tǒng)一般的功能就是處理硬件的驅(qū)動程序。所以操作系統(tǒng)都是用C語言寫的。所以C,C++,java他們都有自己的應(yīng)用范圍,社會的發(fā)展都離不開他們。
現(xiàn)在很多企業(yè)都是熱招C 、C++ 、 java工程師。
從數(shù)據(jù)結(jié)構(gòu)的角度看規(guī)律
剛開始是常量,常量太笨了,就引出了變量,變量可以存放很多的常量,但是變量如果多了,那就也比較麻煩,所以數(shù)組就出現(xiàn)了。但是數(shù)組有個缺點(diǎn),就是只能把同類型的變量捆綁在一起,如果不同類呢?而往往外界的一個事物,經(jīng)常是有不同的屬性,這樣你就要為這個事物定義多個不同類型的數(shù)組,這就顯得非常的散亂了。這時候結(jié)構(gòu)體就出來了。結(jié)構(gòu)體能把不同的數(shù)據(jù)類型的屬性捆綁在一起,能更加緊湊的表示外界的一個事物,然而外界事物只能是屬性嗎?比如聶小倩只能有姓名,性別,年齡,地址嗎?當(dāng)然不了,聶小倩還會飛啊,這個飛,從詞性上來看是個動詞,之前的屬性都是名詞,這個動詞要表示就比較麻煩了。所以就需要函數(shù)來表示。聶小倩會飛,所以聶小倩這個個體就需要包含有函數(shù)這個成員了。也就是說,需要有一種類型,這種類型不但要有屬性(詞性是名稱),還要有函數(shù)(詞性是動詞)。這種類型有,就是類。類的出現(xiàn),能真正的完美的表達(dá)了外界的事物。這就是面向?qū)ο蟮膬?yōu)勢:一個類能完整的描述外界的一個事物,所以一個事物就是一個類中的實(shí)例,也就是對象。
這里就進(jìn)入了C++,java的領(lǐng)域。類的引出。
|
|