面向對象的性質以及C、C++、JAVA的區別

應用場景:

java側重於大型企業級應用開發,C++側重於底層應用開發。Java是Android開發領域的王者,因此移動開發者無疑應該選擇它作爲項目基礎。另外,Java也常見於Web及桌面應用乃至服務器端應用。

C++更接近機器語言,因此其軟件運行速度更快且能夠直接與計算機內存、磁盤、CPU或者其它設備進行協作。另外,C++也能爲遊戲提供良好的運行性能。

底層就是和硬件打交道的層次;
面向對象程序設計主要是偏向於應用程序設計,而底層程序一般是用匯編語言,或C語言進行程序開發;面向對象程序開發,不需要你太版多的硬件知識,而底層的程序開發,需要你對計算機或單片機或嵌入式系統都要有比較深的瞭解,根據它們的實權際需求來進行開發纔行,更有難度一些!

面向對象的三個基本特徵:封裝、繼承、多態

封裝

封裝也就是把客觀事物封裝成抽象的類,並且類可以把自己的數據和方法只讓可信的類或者對象操作,對不可信的進行信息隱藏。

繼承

繼承是指這樣一種能力:它可以使用現有類的所有功能,並在無需重新編寫原來類的情況下對這些功能進行擴展。通過繼承創建的新類稱爲「子類」或「派生類」,被繼承的類稱爲「基類」、「父類」或「超類」。要實現繼承,可以通過繼承和組合 來實現。

多態性(重載和覆蓋)

多態性是允許你將父對象設置成爲和一個或更多的他的子對象相等的技術,賦值之後,父對象就可以根據當前賦值給它的子對象的特性以不同的方式運作。簡單說就是一句話:允許將子類類型的指針賦值給父類類型的指針。實現多態,有兩種方式,覆蓋和重載。兩者的區別在於:覆蓋在運行時決定,重載是在編譯時決定。並且覆蓋和重載的機制不同。例如在Java 中,重載方法的簽名必須不同於原先方法的,但對於覆蓋簽名必須相同。

Java 重寫(Override)與重載(Overload)

重寫(Override)

重寫是子類對父類的允許訪問的方法的實現過程進行重新編寫, 返回值和形參都不能改變。即外殼不變,核心重寫!
重寫的好處在於子類可以根據需要,定義特定於自己的行爲。 也就是說子類能夠根據需要實現父類的方法。

重載(Overload)

重載(overloading) 是在一個類裏面,方法名字相同,而參數不同。返回類型可以相同也可以不同。每個重載的方法(或者構造函數)都必須有一個獨一無二的參數類型列表。
最常用的地方就是構造器的重載。

我對面向對象的理解
面向對象的編程方式使得每一個類都只做一件事。面向過程會讓一個類越來越全能,就像一個管家一樣做了所有的事。而面向對象像是僱傭了一羣職員,每個人做一件小事,各司其職,最終合作共贏!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章