物件:特徵和技能的結合體
物件導向程式設計:乙個個物件進行互動
優點:擴充套件性非常強
缺點:邏輯非常複雜
類(類別):一系列具有相同特徵和技能的物件
現實世界中先有物件,後有類
# 定義學生
# 姓名: 豬瑞星
# 學號: 222222
# 學校: oldboy
# 技能: 選課,三十六變
# 姓名: 孔悟空
# 學號: 111111
# 學校: oldboy
# 技能: 選課,七十二變
# 姓名: 雷公
# 學號: 666666
# 學校: oldboy
# 技能: 選課,電閃雷鳴,開車
# 定義老師
# 姓名:tank
# 學校:oldboy
# 技能:教課,piao
# 姓名:nick
# 學校:oldboy
# 技能:教課,看書
python中先有類,再有物件
class 類名(駝峰體): # 定義類,會直接執行類體**
# 定義一系列特徵
# 定義一系列方法
物件1 = 類名() # 例項化出物件
class oldboystudent:
school = 'oldboy'
def __init__(self, name ,age):
self.name = name
self.age = age
def choose_course(self):
print('is choosing course')
stu1 = oldboystudent('a',1)
stu1.school
stu2 = oldboystudent('b',2)
stu2.scool
class oldboystudent:
school = 'oldboy'
name = 'c'
def __init__(self, name ,age):
self.name = name
self.age = age
def choose_course(self):
print('is choosing course')
stu1 = oldboystudent('a',1)
stu1.school
stu2 = oldboystudent('b',2)
stu2.scool
先從物件本身查詢,然後從類中查詢,類中也沒有則報錯
class oldboystudent:
school = 'oldboy'
def __init__(self, name ,age):
self.name = name
self.age = age
def choose_course(self):
print(id(self)) # 10000
print(self.school)
print(f' is choosing course')
stu1 = oldboystudent('a',1)
stu1.choose_course() # self是物件本身
print(id(stu1)) # 10000
oldboystudent.choose_course(stu1)
lis = list([1,2,3])
lis2 = list([1,2,3])
物件會有一大堆屬性/資料,還會有一大堆方法來操作這些屬性,然後對於不同的物件,這些屬性又不同. c 物件導向程式設計 物件導向
什麼是物件導向 是對現實世界理解和抽象的方法。物件導向程式設計的特點 易維護,易擴充套件,靈活性好,重用 類 對事物的抽象定義,即事物具有的共同特徵和行為。物件 即對類進行例項 類是抽象的,物件是具體的 類的定義 語法 訪問修飾符 class 類名類的成員 包括字段,屬性,方法,常量,事件和索引器等...
物件導向程式設計
物件導向程式設計 抽象 封裝 繼承 多型 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因。開放封閉原則 軟體實體應該可以擴充套件,但是不可修改。所有的設計模式都是對不同的可變性進行封裝,從而使系統在不同的角度上達到開發封閉原則。依賴倒轉原則 a 高層不應該依賴低層,兩個都應該依賴抽象。b ...
物件導向程式設計
class team def init self self.name tampa bay buccaneers bucs team print bucs.name tampa bay buccaneers 當呼叫team 函式時,會自動呼叫init函式,self是自動傳入到init中的引數,它指向當...