物件導向程式設計

2022-02-17 11:07:11 字數 1922 閱讀 3118

物件:特徵和技能的結合體

物件導向程式設計:乙個個物件進行互動

優點:擴充套件性非常強

缺點:邏輯非常複雜

類(類別):一系列具有相同特徵和技能的物件

現實世界中先有物件,後有類

# 定義學生

# 姓名: 豬瑞星

# 學號: 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中的引數,它指向當...