Java核心技術--面向對象程序設計概述

前面說了Java技術的數組,大概回顧了一下數組的基本知識,其他的基礎類容不做一一的回顧。現在開始OOP最重要的一部分--對象和類的介紹,這一部分可以說是整個Java的基石,後面所有的編程都和類、對象離不開,可以說是所有面向對象程序設計的核心,所以這部分我會細細鑽研一番,費得時間也會比較長,正所謂基礎是做任何事情的第一步,也是最重要的。

面向對象程序設計是當今主流的程序設計範型,比如Java、C++等主流的編程語言。最近幾年前端也出現了很多面向對象的程序設計語言,比如最近流行的angularjs。Java是面向對象的程序設計語言,所以必須掌握面向對象的程序設計規則,才能編寫Java程序。

面向對象程序是由對象組成的,每一個對象包涵了對用戶公開的功能部分和隱藏的實現部分。以後我們寫的程序裏面的很多對象來自標準庫,比如String、Integer、Double等等都是標準庫裏的;還有我們自己自定義的類實現的對象,比如我們寫一個People類。 在實際的開發中,我們是使用自定義的類,還是選擇從其他地方獲取對象,更有的從其他地方購買對象,都是根據項目的實際需求來定的,也和項目的時間預算有一定的關係。所以,從根本上來說,只要對象能滿足用戶的需求,我們可以對使用對象具體實現不去關心。

最後在討論一下傳統的過程性結構化程序設計和OOP之間的區別。結構化程序設計通過設計一系列過程來求解過程,一旦確定了這些過程,就要考慮存儲數據的方式。這就是pascal語言的設計者將其著作命名爲《算法+數據結構=程序》(algorithms+Data structures=programs)的原因。也就是算法是第一位的,之後纔是數據結構。這也就表明了結構化程序設計程序員的工作方式,首先確定如何操作數據,然後在考慮如何組織這些數據,以便於操作。而面向對象的程序設計正好顛倒過來了,把數據放在了第一位,然後在考慮操作數據的算法。最後總結一下,對於比較小的問題,使用過程化的程序設計比較合適,對於大型的問題,使用面向對象的程序設計比較合適。

用一個實際的例子來說明。比如我們要實現一個簡單web瀏覽器,需要2000個左右的過程,這些過程可能對一組全局數據進行操作。如果使用面向對象的設計方式,大約需要100個類,每個類大約需要20個左右的方法。試想一下,如果程序出現bug,使用過程化設計的語言,需要在2000個過程找問題,而面向對象的設計,只需要在20個方法裏面找,比較一下就能看出面向對象在大型項目裏面的優勢。

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