Python 面向對象編程

編程語言 Python 面向對象程序編程 技術 Python理想老師 2017-06-11
  • 關鍵字: 類、實例、繼承、類屬性、實例屬性、私有變量、特殊變量

# 聲明一個類(class)classAnimal(object):
  • __name: 定義私有屬性(前面是兩個下劃線)

  • __name__: 定義特殊公有屬性

  • __dict__: 存儲實例屬性

  • dir(obj): 查看當前對象所有的屬性方法

  • 注意區分實例屬性和類屬性

  • 繼承 最大的好處是子類獲得了父類的全部功能

  • 多態 是同一個行為具有多個不同表現形式或形態的能力,比如上面代碼的 eat 行為有多種不同的表現

# 檢測對象是否擁有某個屬性hasattr(dog, '__name') => Falsehasattr(dog, '_Dog__name') => Truegetattr(dog, '_Dog__name') => '二哈'

高級概念

  • 關鍵字:__slots__、@property

  • __slots__ 用來限制實例添加自定義屬性,子類實例允許定義的屬性就是自身的 __slots__ 加上父類的 __slots__

# 聲明一個類(class)classAnimal(object):
  • @property 裝飾器: 把類中的一個方法變成屬性,然後調用

classStudent(object):
  • 多重繼承: 一個子類繼承多個父類

classFather111(object): passclassFather222(object): passclassFather333(object): pass# 子類 Son 繼承了 3 個父類classSon(Father111, Father222, Father333): pass
  • 定製類: 通過為類定義一些特定的方法從而起到定製類的效果。

classStudent(object): # __init__ 用於初始化實例,類似其他語言的構造函數

以上。

Python 面向對象編程

相關推薦

推薦中...