課程目標
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)
classstudent(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)
(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找我了,甩過來乙個鏈結,問我用 賬號能不能登陸。我一看,不正是我上週已經交付的任務...