1. 程式人生 > >Python基礎班每日整理(五)

Python基礎班每日整理(五)

承擔 類的屬性 設計 orien 字符 day01 列表 核心 python

03_面向對象_day01

  1. 面向對象的簡稱?
    面向對象編程 —— Object Oriented Programming 簡寫 OOP,是一種編程思想或者方式
  2. 面向對象和面向過程的區別?
    面向過程是早期的一個編程思想,所有的步驟從頭到尾逐步實現,把某些功能獨立的代碼塊封裝成函數,然後順序的調用不同的函數,註重步驟與過程,不註重職責分工,適合開發簡單的項目。
    面向對象相比函數是一個更大的封裝,面向對象註重對象和職責,不同的對象承擔不同的職責,適合開發比較復雜的項目。
  3. 類和對象的概念?
    類和對象是面向對象的兩大核心概念,
    類是對一群具有相同特征或者行為的事物的一個統稱,是抽象的,不能直接使用。就好比圖紙或者模板,根據這個模板可以創建很多個對象
    對象是由類創建出來的一個具體存在,可以直接使用。
  4. 類和對象的關系?
    類是模板,對象是根據類這個模板創建出來的,應該 先有類,再有對象
    類只有一個,而對象可以有很多個,不同的對象之間屬性可能會各不相同
    類中定義了什麽屬性和方法,對象中就有什麽屬性和方法,不可能多,也不可能少
  5. 屬性和方法是什麽?
    對對象的特征描述,通常可以定義成屬性
    對象具有的行為(動詞),通常可以定義成方法
  6. 如何定義類並創建對象?
    class 類名:
    def 方法1(self, 參數列表):
    pass
    類名符合大駝峰命名,方法第一個參數必須是self,self 就表示 當前調用方法的對象自己在方法內部,可以通過 self. 訪問對象的屬性,也可以通過 self. 調用其他的對象方法
    創建一個對象如下:
    對象變量 = 類名() 自動分配內存空間,自動初始化方法(定義屬性)
  7. init()方法的作用
    初始化方法,在對象創建的時候會自動執行,主要用來定義類的屬性
  8. str()方法的作用
    返回對象的描述信息,print 函數輸出對象變量時,能夠打印自定義的內容,必須返回字符串
  9. del()方法的作用
    對象被從內存中銷毀前,會被自動調用
  10. 面向對象的三大特點
    封裝、繼承、多態
  11. 如何理解面向對象的封裝?
    面向對象編程的第一步,就是要把屬性和方法封裝到類中,外界使用類創建對象,然後讓對象調用方法,對象方法的細節都封裝在類的內部。
    03_面向對象_day02
  12. 私有屬性、私有方法;偽私有屬性和方法
    私有屬性:對象不希望公開的屬性,語法是在屬性前面加上屬性名
    私有方法:對象不希望公開的方法,語法是在方法前面加上
    方法名
    偽私有屬性和方法是指在Python中並沒有真正意義上的私有,而是把屬性或者方法名前面加上了_類名,可以通過_類名__屬性名的形式訪問,但是不推薦。
  13. 繼承的作用,以及語法
    繼承實現了代碼的重用,子類可以擁有父類的所有方法和屬性。
    class 子類名(父類名):
    pass
    繼承具有傳遞性,子類可以擁有所有與子類有繼承關系的父類方法和屬性。
  14. 重寫父類方法,如何調用重寫的父類方法?
    當父類的方法實現不能滿足子類需求時,可以對方法進行重寫(override)
    重寫父類方法有兩種情況:
    覆蓋父類的方法,子類中創建一個跟父類同名的方法;
    對父類方法進行擴展,使用super().父類方法調用,另外可以通過父類名.父類方法()的形式去訪問,但是不推薦。
  15. 多繼承的概念以及語法
    多繼承:子類可以擁有多個父類,並且具有所有父類的屬性和方法。多個父類之間應盡量避免同名的方法和屬性。
    class 子類名(父類名1, 父類名2...)
    pass
  16. 多態的概念。
    不同的子類對象調用相同的父類方法,產生不同的執行結果
    多態可以增加代碼的靈活度,以繼承和重寫父類方法為前提,是調用方法的技巧,不會影響到類的內部設計

Python基礎班每日整理(五)