物件導向設計的由來概述
面向過程:核心是過程,指的是解決問題的步驟。面向過程的設計好像一條流水線,是一種機械的思維方式。
優點:複雜的問題流程化,進而簡單化。
缺點:可擴充套件性太差。
應用場景:一旦完成基本很少改變的場景。
物件導向:核心是物件。物件導向更加注重對現實世界的模擬。python中一切皆物件。是一種『上帝式』的思維方式。
優點:解決了程式的擴充套件性。對某乙個物件的修改,會立刻反映到整個體系中。
缺點:程式設計的複雜程度高。盲目的使用物件導向的思想,徒增程式設計的難度。
無法精準的**問題的處理流程與結果,物件導向的程式一旦開始就由物件之間的互動解決問題。
應用場景:需求經常變化的軟體。
注意:物件導向的程式設計並不是全部。對於乙個軟體質量來說,物件導向的程式設計只是用來解決擴充套件性。
程式設計思想發展史
物件:是特徵與技能的結合體
類:是物件導向設計最重要的概念,類是一系列物件相似的特徵與技能的結合體
先有雞還是還有蛋的問題!
在現實世界中:現有物件,再有類
在程式中:務必保證先定義類,後產生物件
總結:類為我們提供了一種能夠將資料和運算元據的方法結合到一起的解決方法。
類有兩種屬性:資料屬性和函式屬性
1:類的資料屬性是所有物件共享的
2:類的函式屬性是繫結給物件用的
物件的屬性查詢屬性:先在自己的命名空間中找,然後在類中找,然後在父類中找,最後找不到就丟擲異常。
1.類中定義的函式(沒有被裝飾器裝飾)是類的函式屬性,類可以呼叫,但是必須遵循函式的引數規則,該傳引數傳引數。
2.類中定義的函式(沒有被裝飾器裝飾),主要是給物件使用的,並且是繫結給物件的,誰來呼叫就會把自身當作第乙個引數傳入。
注意:繫結到物件的方法的這種自動傳值的特徵,決定了類中定義的函式都要預設寫乙個引數self,self可以是任意名字,但是約定俗成地寫為self。
python中一切皆為物件,且python3中型別和類是乙個概念,型別就是類。
>>>list
物件導向基礎總結
設計模式 附錄a 物件導向基礎 概念總結 類與物件 概念 類是具有相同屬性和功能的物件的抽象的集合 物件是乙個自包含體,用一組可識別的特性和行為來標識。說明 這兩個概念很好理解,因為我們生活中就經常用到,比如 演員 是乙個類,而 劉德華 就是乙個物件,學生 也是乙個類,我們班的 李四 就是乙個物件。...
JavaScript 物件導向基礎總結
物件導向基礎總結 了解了物件導向與面向過程的區別 面向過程就是將乙個問題按需要一步一步往下做。而物件導向是將乙個問題看成是多個物件,其中包含了屬性與方法,當有需要時,就寫出相應的方法與功能,在呼叫。var p name 李四 屬性 屬性名 屬性值 age 20,屬性或方法結尾用 而不是用 點語法 物...
物件導向總結
成員變數 1.類中,方法外 2.建立物件存在與堆中,物件被 時一併消失 3.成員變數有預設值 區域性變數 1.方法中 2.呼叫方法存在於棧幀中,方法呼叫完畢隨棧幀一併消失 3.區域性變數沒有預設值 public class koo 重寫遵循 兩同兩小一大 兩同 1.方法名稱相同 2.引數列表相同 兩...