一、面向過程和麪向對象
面向對象和麪向過程都是對軟件分析、設計和開發的一種思想,是相輔相成的、不是對立的關係。它指導着人們以不同的方式去分析、設計和開發軟件。
面向過程:思考如何一步一步完成,如“學開車”。適合簡單、不需要協作的事務。
面向對象(object):思考複雜、需要協作的事務。如“如何造車”,無法分爲1.2.3.4等步驟。適合開發大型軟件。
面向對象更契合人的思維邏輯,是去思考“如何設計”。
面向對象和麪向過程總結:
1、都是解決問題的思維方式,都是代碼組織的方式;
2、解決簡單問題可以使用面向過程;
3、解決複雜問題:宏觀上使用面向對象把握,微觀處理上仍是面向過程。
(不要鑽死衚衕,結合後面的代碼練習,需要溫故知新)
對象(object):數據管理方式,內存中對象是個內存塊,是一小塊數據(包含很多很多數據)。
面向對象的特點:封裝、繼承、多態
封裝:1)隱藏不需要客戶關心的
2)打包、裝存
繼承:繼承原有的,拓展新的
多態:1)同一東西在不同條件下呈現的姿態不同,如:水、水蒸氣、冰
2)不同的對象對同一事物(消息)做出不同的響應
二、類(class)
類:對象的共性,抽象概念
對象:具體的事物
方法:用來操作對象
屬性:用來描述對象
語法:
class 類名{ //規範:建議類名首字母大寫,每個單詞的首字母都大寫
java中,定義一個類
}
1、類可以看做是對象的模板,或圖紙,系統根據類的定義來造出對象(實例)。
2、類是對象的抽象,對象是類的具體。
如:筆,鋼筆、鉛筆,都是筆。
3、對象和實例是一回事。(對象是具體的事物)
new一個對象,通過調用構造方法創建一個對象。
構造方法名必須與類名相同。
4、屬性(描述對象用的)
光有屬性,沒有方法,是結構體。
5、一個典型類的定義和UML圖
用來表示類的基本結構