1. 程式人生 > >1.5 面向對象的思考方式

1.5 面向對象的思考方式

imp 一個 let 過程 處理 position 系列 面向對象編程 做事

觀察到的一切都是對象--面向對象的思考方式

定義

在對世界/系統進行觀察/建模的時候,把它們看成一系列相互交流、互為影響的對象集(a set of objects)

世界是由相互作用的對象組成的

描述與構建由對象組成的系統

軟件開發常規的兩種思維方式:,面向對象和面向過程

OO strategy 適合解決不確定的時間,創新性的事件--------------------籃球賽

Structured Strategy 處理已知的事實,重要的條件都已知的場景---------------------流水線

編程語言

c語言是一種面向過程的思維方式:從main()函數的逐條語句開始執行、調用子程序就必須一層層返回,最終又返回main函數,系統需要完成的功能,分配到各個子程序,由main函數統一調度

面向過程側重於考慮方法的編寫(哪個方法做什麽,不考慮所涉及到的數據在哪裏)

面向對象則致力於將數據和方法做一個封裝(分配一個對象做事,要考慮所需要的數據是否和它在一起)

通信

過程化解決方法通過信道傳遞數據,服務器端需要有專門的工具對接受的數據進行處理

面向對象解決方法通過信道傳遞對象(數據+對數據的處理方法)如web瀏覽器接收到的Java applet就是一個對象,誤區

對象包裝:把任意一段的過程化代碼堆砌在一起,不是面向對象編程

面向對象的核心特征

object/class 對象/類

method/message 方法/消息

encapsulation 封裝

inheritance 繼承

interface/implement 接口/實現

polymorphism 多態

composition/aggregation 組合/聚合

abstraction抽象

advance OO concepts面向對象的原則

OO principle面向對象原理

Design pattern設計模式

1.5 面向對象的思考方式