Java——理解面向對象編程
一:什麼是面向對象編程?架構
面向對象編程(Object Oriented Programming,OOP,面向對象程序設計)是一種計算機編程架構。OOP 的一條基本原則是計算機程序是由單個可以起到子程序做用的單元或對象組合而成。OOP 達到了軟件工程的三個主要目標:重用性、靈活性和擴展性。爲了實現總體運算,每一個對象都可以接收信息、處理數據和向其它對象發送信息。編程語言
面向對象是由OOA(面向對象分析)、OOD(面向對象設計)、OOP(面向對象編程)三個部分組成。其中,OOA和OOD的結構須要使用一種方式來描述並記錄,目前統一採用UML(統一建模語言)來描述並記錄OOA、OOD的結果。函數
Java語言是純粹的面向對象的程序設計結構,這主要表如今Java的三種基本特徵:繼承,封裝和多態。spa
目前主流的開發方法是:結構化開發方法和麪向對象開發方法。C、Basic、Pascal等都是結構化編程語言,C++、C#、Java、Ruby等都是面向對象的編程語言。設計
二:程序有哪三種基本結構?htm
順序結構,選擇結構,循環結構。對象
順序結構:程序中的各操做是按照它們在源代碼中的排列順序依次執行的。選擇結構:程序的處理須要根據某個特定的條件選擇其中的一個分支執行。選擇結構有單選擇,雙選擇和多選擇三種形式。循環結構:程序反覆執行某個或某些操做,知道某個條件爲假(或爲真)時才中止循環。循環結構的基本形式有兩種:當型循環和直到型循環。當型循環:先判斷條件,當條件爲真時執行循環體,而且在循環體結束時自動返回到循環入口處,再次判斷循環條件,若是條件爲假,則退出循環體到達流程出口處。先判斷,後執行。直到型循環:從入口處直接執行循環,循環體結束時判斷條件,若是條件爲真,則返回入口處繼續執行循環體,直到條件爲假時退出循環體到達流程出口處,先執行後判斷。繼承
程序化設計中的任何結構都具備惟一的入口和惟一的出口,而且程序不會出現死循環。雖然Java是面向對象的,但Java的方法裏是一種結構化順序流。開發
三:面向對象的基本特徵是什麼?
採用面向對象方式開發的軟件系統,最小的程序單元是類,這些類能夠生成系統中的多個對象,而這些對象則直接映像成客觀世界的各類事物。類表明了客觀世界中具備某種特徵的一類事物,這類事物每每有一些內部的狀態數據,用類來封裝一類事物的內部狀態數據。成員變量(狀態數據)+方法(行爲)=類定義。
在面向過程的程序裏,一切以函數爲中心,函數最大。好比:騎(我,自行車);
在面向對象的程序裏,一切以對象爲中心,對象最大。好比:我.騎(自行車);
面向對象方法具備三個基本特徵:封裝(Encapsulation)、繼承(Inheritance)和多態(Polymorphism)。封裝指的是將對象的實現細節隱藏起來,而後經過一些公用方法來暴露該對象的功能;多態指的是子類對象能夠直接賦給父類變量,但運行時依然變現出子類的行爲特徵,這意味着同一個類型的對象在執行同一個方法時,可能表現出多種行爲特徵。
面向對象還支持以下幾個功能:
一、對象是面向對象方法中最基本的概念,它的基本特色有:標識惟一性、分類性、多態性、封裝性、模塊獨立性好。
二、類是具備共同屬性,共同方法的一類事物。類是對象的抽象;對象則是類的實例。而類是整個軟件系統最小的程序單元,類的封裝性將各類信息細節隱藏起來,並經過公用方法來暴露該類對外所提供的功能,從而提升子類的內聚性,下降了對象之間的耦合性。
三、對象間的這種相互合做須要一個機制協助進行,這樣的機制稱爲「消息」。消息是一個實例與另外一個實例之間相互通訊的機制。
四、面向對象方法中,類之間共享屬性和操做的機制稱爲繼承。繼承具備傳遞性。繼承可分爲單繼承(一個繼承只容許有一個直接父類,即類等級爲樹形結構)與多繼承(一個類容許有多個直接父類)。
在Java語言中,除了8個基本數據類型以外,一切都是對象。