- Python面向對象編程:構建游戲和GUI
- (美)艾維·卡爾布
- 541字
- 2023-06-29 17:17:50
2.3 類、對象和實例化
下面看看代碼實現。
類:
定義了對象記憶什么(它的數據或稱狀態)以及能夠執行什么操作(它的函數或稱行為)的代碼。
下面的代碼將電燈開關寫成一個類,以幫助你了解類是什么樣子的。
# OO_LightSwitch
class LightSwitch():
def __init__(self):
self.switchIsOn = False
def turnOn(self):
# turn the switch on
self.switchIsOn = True
def turnOff(self):
# turn the switch off
self.switchIsOn = False
稍后將解釋細節,現在注意,這里的代碼只定義了一個self.switchIsOn變量,并在一個函數中初始化該變量。另外,該類還包含兩個代表行為的函數—— turnOn()和turnOff()。
如果編寫類的代碼,并試圖運行代碼,那么什么也不會發生,正如你運行一個只包含函數但不包含函數調用的Python程序那樣。你需要顯式告訴Python創建類的對象。
要從LightSwitch類創建一個LightSwitch對象,通常使用如下所示的代碼行。
oLightSwitch = LightSwitch()
這行代碼的意思是,找到LightSwitch類,從該類創建一個LightSwitch對象,然后將得到的對象賦給變量oLightSwitch。
注意:
作為本書中的命名約定,我通常會使用小寫o作為前綴,指出某個變量代表一個對象。其實并不是必須要這么做,但這種方法能夠提醒我自己,變量代表的是一個對象。
在OOP中,還會遇到另外一個詞——實例。“實例”和“對象”這兩個詞基本上可以互換使用,但是精確來說我們會稱LightSwitch對象是LightSwitch類的一個實例。
實例化:
從類創建對象的過程。
在上面的賦值語句中,實例化過程從LightSwitch類創建了一個LightSwitch對象。我們也可以把“實例化”這個詞用作動詞,例如,我們從LightSwitch類實例化了一個LightSwitch對象。
推薦閱讀
- C++面向對象程序設計(第三版)
- ASP.NET Web API:Build RESTful web applications and services on the .NET framework
- Apache Oozie Essentials
- Docker進階與實戰
- Learning Docker
- OpenCV實例精解
- PostgreSQL Cookbook
- Python GUI Programming Cookbook
- SAS數據統計分析與編程實踐
- SharePoint Development with the SharePoint Framework
- CoffeeScript Application Development Cookbook
- 軟件工程基礎與實訓教程
- 軟件測試分析與實踐
- Building Clouds with Windows Azure Pack
- Manage Your SAP Projects with SAP Activate