物件導向程式設計

2022-09-16 16:12:19 字數 3469 閱讀 1467

目錄三:在python中如何定義類?

一:什麼是面向過程?

面向過程的核心是過程,過程就是把一件事分成幾個步驟來完成,然後把每乙個步驟給完成,這件事就完成了!

優點:複雜問題簡單化

缺點:後期擴充套件性差,牽一髮而動全身

二:什麼是物件導向?

物件就是把資料和功能封裝在一起,基於這種思想寫的程式,就是整合程式

優點:擴充套件性比較好

缺點:簡單問題複雜化

1:如何基於物件導向的思想編寫程式

# 學生的資料

studnet_name = 'alen'

student_age = 19

student_gender = 'mali'

# 學生的功能

def choose_course(name,age,gender):

print(f'--正在選課')

choose_course(student_name,student_age,student_gender)

2:用物件導向的思想來進行修改
student_obj = 

print(student_obj['name'])

student_obj['choose'](stu_obj)

3:如何基於物件導向來寫程式?
學生的資料

student_name = 'alen'

student_age = 18

student_gender = 'male'

# 學生的功能

def choose_course(name,age,gender):

print('正在選課')

choose_course(student_name,student_age,student_gender)

4:基於物件式的思想進行改寫
def choose_course(obj):

print('正在選課')

student_obj =

print(student_obj['name'])

print(student_obj['choose'](**student_obj))

三:在python中如何定義類?
# 類體**會在類定義階段立即執行,然後將產生的名字都放到類的命名空間中

class student:

school = '日本校區'

def choose_course(self):

print("正在選課")

print('正在選課!')

s1 = student()

s2 = student()

s3 = student()

s1.age = 10

s1.name = '李四'

s1.gender = 'male'

s2.name = '小過'

s2.age = 88

s2.gender = 'female'

s3.name = '山雞'

s3.age = 200

s3.gender = 'male'

print(s1.__dict__)

print(s2.__dict__)

print(s3.__dict__)

1:類的初始化方法
class student:

school = '東京校區'

def choose_school(self):

print("正在選課")

s1 = student()

s2 = student()

s1.name = 'alen'

s1.age = 18

s1.gender = 'male'

s2.name = 'alen_'

s2.age = 12

s2.gender = 'male'

class student:

school = '海南校區'

def choose_school(self):

print("正在選課")

s1 = student()

s2 = student()

def init(obj,x,y,z):

obj.name = x

obj.age = y

obj.gender = z

init(s1,'alen',187,'male')

init(s2,'alen1',11,'female')

class student:

school = '山東校區'

def __init__(self,name,age,gender):

self.name=name

self.age = age

self.gender = gender

def choose_course(self):

print(f'正在選課』)

s1 = student('alex',18,'男')

s2 = student('jack',88,'female')

2:屬性查詢

先從物件的記憶體裡查詢,沒有去類的記憶體中查詢

class student:

school = '南方校區'

def __init__(x,y,z):

self.name = x

self.age = y

self.gender = z

def choose(self):

print("正在選課")

s1 = student('jack',88,'female')

s2 = student('alen',18,'male')

s3 = student('arry',88,'male')

類中的資料是直接共享給所以物件使用

print(id(s1.school))

print(id(s2.school))

print(id(s3.school))

student.school = '北方校區'

print(s1.school)

print(s2.school)

print(s3.school)

print(student.choose)

print(s1.choose)

print(s2.choose)

print(s3.choose)

`

類中定義的函式時繫結給所以物件使用的,繫結誰,就應該有哪個物件來呼叫

物件.繫結方法()會把物件當作第乙個引數傳入

類.函式就是乙個函式的玩法,沒有自動傳參的效果

print(student.choose('alex'))

s1.choose()

s2.choose()

s3.choose()

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