面向對象是一種編程思想,看以當作是對現實世界中的事物進行抽象的方式。應用到代碼編程設計中,是一種創建現實世界事物模型的方式。python
面向過程關注的是完成工做的步驟,面向對象關注的是誰能完成工做,一個關注過程,一個關注完成對應任務的個體。編程
類是一系列事物的統稱(例如:貓科類),通類事物一定具備相同的特徵。平常事物的特徵根據特性分爲狀態和行爲,對應到類中就是變量個方法。函數
特徵分類:
狀態 —— 變量(成員變量)
行爲 —— 方法(成員方法)
統稱:類的成員
複製代碼
class 類名:
pass
複製代碼
注意:類名每一個單詞首字母必須大寫,知足大駝峯命名法,例:BlueCatspa
對象名 = 類名()設計
對象的建立不限制數量,一個類能夠建立任意個數的對象code
成員變量用於描述對象的固有狀態或屬性。cdn
class 類名:
def __init__(self):
self.變量名1 = 值1
self.變量名2 = None
複製代碼
對象名.變量名 = 值對象
class Cat:
def __init__(self):
self.type = "胖橘"
self.name = None
cat1 = Cat()
print(cat1.type)
cat1.name = "大帥"
print(cat1.name)
# 給cat1穿衣服
cat1.cloth = "紅色"
複製代碼
說明:在對象名下,以前定義過的變量再用,屬於調用變量,以前沒定義過的變量,屬於新定義的變量,以前沒定義的值,屬從新賦值。blog
取值:對象名.變量名字符串
賦值:對象名.變量名 = 值
成員方法用於描述對象的固有行爲
格式一(無參方法):
class 類名:
def 方法名(self):
方法體
複製代碼
class 類名:
def 方法名(self,形參1,形參2,...):
方法體
複製代碼
格式一(調用無參方法):
對象名.方法名()
對象名.方法名(實參1,實參2,...)
__init__方法,也稱爲構造方法,建立對象時爲對象初始化成員變量
格式一:
def __init__(self):
self.變量名1 = 值1
複製代碼
def __init__(self,形參1,形參2,…):
self.__屬性名1 = 形參1
self.__屬性名2 = 形參2
複製代碼
魔術方法是在類中聲明、定義的方法,執行時無需手工調用,自動執行。如:init。
__str__方法是在使用print函數打印輸出對象到屏幕時被調用的方法,用於返回對象的規範化字符串表現形式(魔術方法)。
def __str__(self):
return 打印對象是顯示的信息
複製代碼
self.變量名
self.方法名(實參1,實參2,...)
class Cat:
def catch(self):
# 1.跳起
# 2.抓住
# 3.咬死
self.jump()
self.grasp()
self.bite()
def jump(self):
print("貓跳了起來")
def grasp(self):
print("貓抓住了老鼠")
def bite(self):
print("貓咬死了老鼠")
cat1 = Cat()
cat1.catch()
複製代碼
self僅出如今成員方法中,指代執行該方法的對象,能夠任意書寫aaa,相似於佔位符,替對象佔位。
封裝操做能夠對受訪問保護的成員進行功能開放的控制,達到保護數據不被非法訪問的目的
self.__屬性名 = 值
def __方法名(self,形參1,形參2,…):
方法體
複製代碼
變量私有化格式:
self.__屬性名 = 值
複製代碼
提供公共的訪問器格式:
def get_屬性名(self):
return self.__屬性名
複製代碼
提供公共的修改器格式:
def set_屬性名(self,屬性名):
self.__屬性名 = 屬性名
複製代碼