面向對象(OOP)基本概念
面向對象編程 —— Object Oriented Programming
簡寫 OOP
編程
目標
01. 面向對象基本概念
- 咱們以前學習的編程方式就是 面向過程 的
- 面相過程 和 面相對象,是兩種不一樣的 編程方式
- 對比 面向過程 的特色,能夠更好地瞭解什麼是 面向對象
1.1 過程和函數(科普)
- 過程 是早期的一個編程概念
- 過程 相似於函數,只能執行,可是沒有返回值
- 函數 不只能執行,還能夠返回結果
1.2 面相過程 和 面相對象 基本概念
1) 面相過程 —— 怎麼作?
- 把完成某一個需求的
全部步驟
從頭至尾
逐步實現
- 根據開發需求,將某些 功能獨立 的代碼 封裝 成一個又一個 函數
- 最後完成的代碼,就是順序地調用 不一樣的函數
特色函數
- 注重 步驟與過程,不注重職責分工
- 若是需求複雜,代碼會變得很複雜
- 開發複雜項目,沒有固定的套路,開發難度很大!

2) 面向對象 —— 誰來作?
相比較函數,面向對象 是 更大 的 封裝,根據 職責 在 一個對象中 封裝 多個方法學習
- 在完成某一個需求前,首先肯定 職責 —— 要作的事情(方法)
- 根據 職責 肯定不一樣的 對象,在 對象 內部封裝不一樣的 方法(多個)
- 最後完成的代碼,就是順序地讓 不一樣的對象 調用 不一樣的方法
特色設計
- 注重 對象和職責,不一樣的對象承擔不一樣的職責
- 更加適合應對複雜的需求變化,是專門應對複雜項目開發,提供的固定套路
- 須要在面向過程基礎上,再學習一些面向對象的語法


類和對象
目標
01. 類和對象的概念
類 和 對象 是 面向對象編程的 兩個 核心概念code
1.1 類
- 類 是對一羣具備 相同 特徵 或者 行爲 的事物的一個統稱,是抽象的,不能直接使用
- 類 就至關於製造飛機時的圖紙,是一個 模板,是 負責建立對象的

1.2 對象
- 對象 是 由類建立出來的一個具體存在,能夠直接使用
- 由 哪個類 建立出來的 對象,就擁有在 哪個類 中定義的:
- 對象 就至關於用 圖紙 製造 的飛機
- 在程序開發中,應該 先有類,再有對象
02. 類和對象的關係
- 類是模板,對象 是根據 類 這個模板建立出來的,應該 先有類,再有對象
- 類 只有一個,而 對象 能夠有不少個
- 類 中定義了什麼 屬性和方法,對象 中就有什麼屬性和方法,不可能多,也不可能少
03. 類的設計
在使用面相對象開發前,應該首先分析需求,肯定一下,程序中須要包含哪些類!對象
在程序開發中,要設計一個類,一般須要知足一下三個要素:blog
- 類名 這類事物的名字,知足大駝峯命名法
- 屬性 這類事物具備什麼樣的特徵
- 方法 這類事物具備什麼樣的行爲
大駝峯命名法
- 每個單詞的首字母大寫
- 單詞與單詞之間沒有下劃線
3.1 類名的肯定
名詞提煉法 分析 整個業務流程,出現的 名詞,一般就是找到的類開發
3.2 屬性和方法的肯定
- 對 對象的特徵描述,一般能夠定義成 屬性
- 對象具備的行爲(動詞),一般能夠定義成 方法