一、面向對象和面向過程的區別:
a.面向過程:
1)根據業務邏輯從上到下寫代碼
2)開發思路是將數據和函數按照執行的邏輯順序組織在一起
3)分開考慮數據與函數
定義性文字:
面向對象編程(Object Oriented Programming-OOP) 是一種解決軟件復用的設計和編程方法。
這種方法把軟件系統中相近相似的操作邏輯和操作應用數據、狀態,以類的型式描述出來,
以對象實例的形式在軟件系統中復用,以達到提高軟件開發效率的作用。
b.面向對象:
1)將數據與函數綁定到一起
2)進行封裝
3)更快速高效地開發程序
4)減少重復代碼的重寫過程
定義性文字:
面向對象(object-oriented ;簡稱: OO) 至今還沒有統一的概念,概括定義為:
按人們認識客觀世界的系統思維方式,采用基於對象(實體) 的概念,
建立模型,模擬客觀世界分析、設計、實現軟件的辦法。
舉例:吃烤鴨
面向過程:1)養鴨 2)鴨子長成 3)殺 4)佐料 5)烤鴨 6)吃
面向對象:1)找個全聚德 2)吃 3)給錢 4)吃北京烤鴨完成
二、重點說一下面向對象:
面向對象編程的2個非常重要的概念:類和對象,對象是面向對象編程的核心,
在使用對象的過程中,為了將具有共同特征和行為的一組對象抽象定義——類
1)類和對象的關系:
類就是創建對象的模板,對象是使用類創建出來的,而且可以創建任意多個對象。
2)類的抽象:擁有相同(或者類似)屬性和行為的對象都可以抽像出一個類
3)self的理解:
所謂的self,可以理解為自己可以把self當做C++和java中類里面的this指針一樣理解,就是對象自身的意思。
某個對象調用其方法時,Python解釋器會把這個對象作為第一個參數傳遞給self,所以開發者只需要傳遞后面的參數即可
4)__init__方法與__new__方法的區別:
1. 當創建實例對象成功后,有Python解釋器來調用__init__方法,這個方法不用我們手動調用;
2. 誤區,認為__init__方法用來創建對象的,初始化對象的一些數據;
3. 創建實例對象是用__new__方法創建的,使用__new__創建實例對象后要記得返回.
5)set和get方法隱藏數據
6)類、對象、實體和面向對象編程的思維方式分析圖: