Day2 3 物件導向程式設計

2022-04-29 08:42:07 字數 2266 閱讀 5590

課程目標

1. 物件導向程式設計

2. 類和例項

3. 訪問限制

4. 例項屬性和類屬性

物件導向程式設計

• 物件導向程式設計是一種程式設計思想

• 物件導向把類和物件作為程式的基本單元

• 物件包含屬性和方法

• 面向過程程式設計為:函式的呼叫集合

• 物件導向程式設計為:物件之間傳遞資訊的集合

• 處處皆物件

類和例項

• 類可以理解為圖紙或者模版

• 例項是根據類的圖紙或者模版建立出來的乙個乙個物件

• 類定義class,關鍵字self

• 類的初始化函式__init__

• 物件導向三大特點:繼承,封裝,多型

• 屬性和方法

訪問限制

• 通過」__」兩個下劃線可以修飾私有變數

• 通過編寫get和set方法來修改物件的屬性

• python中沒有真正的私有屬性和私有方法

例項屬性和例項方法

例項屬性

class student(object):

def __init__(self, name):

self.name = name

s = student('bob')

s.score = 90

• 類屬性

class student(object):

name = 'student'

print(student.name)

class

student(object):

total = 20 #類屬性 公有的

#方法 self指向建立的例項本身 __name 私有屬性

def__init__

(self,name,score):

self.__name =name

self.__score =score

defprint_score(self):

print('

%s: %s

' %(self.__name,self.__score))

def get_grade(self):

if(self.__score >= 90):

return 'a'

elif(self.__score >=60):

return 'b'

else:

return 'c'

def set_score(self,score):

if 0<=score<=100:

self.__score=score

else:

raise valueerror('分數請大於0小於100')

self.__score = score

def get_score(self):

return self.__score

#例項化物件

xiaohong = student('

xiaohong

',98)

xiaobai = student('

xiaobai

',81)

xiaolv = student('xiaolv',55)

# print

(xiaohong.name,xiaohong.score)

# print(xiaobai.name,xiaobai.score)

print(xiaolv.set_score(80))

print(xiaolv.get_score())

print(student.total)

括號中object表示繼承自哪個類

類外面的是函式,類裡面的是方法

self表示類本身

兩個相同的例項物件會有兩個記憶體空間,佔據的記憶體空間也可能不同

python沒有真正的私有變數,把私有變數改成名稱__student__name

小結

• 面向過程和物件導向程式設計

• 類由屬性和方法組成

• 物件是類的例項化

• 屬性可以封裝,並宣告私有屬性

• 類屬性和例項屬性

day23 物件導向之繼承

1.繼承 繼承指的是類與類之間的關係 繼承是新建類的一種方式 2.為什麼要用繼承 減少重複 3.如何用繼承 抽象,抽取物件的相同特徵與技能得到類 同樣,抽取類的相同屬性與方法得到父類 先抽象得到父類,再讓子類繼承父類,減少重複 繼承語法,在類名後加小括號,在python中乙個子類可以繼承多個父類,多...

day23 系統服務

今日內容 1.系統服務 1.開機啟動流程 2.centos6與centos7區別 3.系統的執行級別 1.centos6 臨時性的操作 root oldboy runlevel 檢視級別 n 3 n 表示上一次是什麼級別 3 當前系統正在執行的級別 root oldboy init 3 切換到3級別...

實習日記 Day23

今天是週三,一周之中的 駝峰日 駝峰日通常是一周中最難過的日子,但也是最充滿希望的時日,過去了就是週末了。今天的task數量之多,達到了我入職以來的頂峰呢,刺激 犯了低階的錯誤呢 快下班時,leader突然在skype找我了,甩過來乙個鏈結,問我用 賬號能不能登陸。我一看,不正是我上週已經交付的任務...