天天看點

Python——面向對象程式設計一. 面向對象程式設計二. 面向對象術語

一. 面向對象程式設計

面向對象程式設計——Object Oriented Programming,簡稱OOP,是一種程式設計思想。OOP把對象作為程式的基本單元,一個對象包含了資料和操作資料的函數。

面向過程的程式設計把計算機程式視為一系列的指令集合,即一組函數的順序執行。為了簡化程式設計,面向過程把函數繼續切分為子函數,即把大塊函數通過切割成小塊函數來降低系統的複雜度。

而面向對象的程式設計把計算機程式視為一組對象的集合,而每個對象都可以接收其他對象發過來的消息,并處理這些消息,計算機程式的執行就是一系列消息在各個對象之間傳遞。

在Python中,所有資料類型都可以視為對象,當然也可以自定義對象。自定義的對象資料類型就是面向對象中的類(Class)的概念。

二. 面向對象術語

Python 中的類提供了面向對象程式設計的所有基本功能:類的繼承機制允許多個基類、派生類可以覆寫基類中的任何方法、方法中可以調用基類中的同名方法。

對象可以包含任意數量和類型的資料。

  • 類(Class): 用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。對象是類的執行個體。
  • 方法:類中定義的函數。
  • 類變量:類變量在整個執行個體化的對象中是公用的。類變量定義在類中且在函數體之外。類變量通常不作為執行個體變量使用。類變量也稱作屬性。
  • 資料成員:類變量或者執行個體變量用于處理類及其執行個體對象的相關的資料。
  • 方法重寫:如果從父類繼承的方法不能滿足子類的需求,可以對其進行改寫,這個過程叫方法的覆寫(override),也稱為方法的重寫。
  • 執行個體變量:定義在方法中的變量,隻作用于目前執行個體的類。
  • 繼承:即一個派生類(derived class)繼承基類(base class)的字段和方法。繼承也允許把一個派生類的對象作為一個基類對象對待。例如,有這樣一個設計:一個Dog類型的對象派生自Animal類,這是模拟"是一個(is-a)"關系(例圖,Dog是一個Animal)。
  • 執行個體化:建立一個類的執行個體,類的具體對象。
  • 對象:通過類定義的資料結構執行個體。對象包括兩個資料成員(類變量和執行個體變量)和方法。
  • 多态:對不同類的對象使用同樣的操作。
  • 封裝:對外部世界隐藏對象的工作細節。