Python學習9 物件導向程式設計

2021-07-31 21:45:14 字數 1076 閱讀 6600

**廖雪峰的部落格

在物件導向程式設計中需要考慮:物件、屬性、方法,例項化。物件導向程式設計具有三大特點:資料封裝、繼承和多型

舉例:列印學生成績。

處理學生的成績表,如果採用物件導向的程式設計思想,我們首選思考的不是程式的執行流程,而是student這種資料型別應該被視為乙個物件,這個物件擁有name和score這兩個屬性(property)。如果要列印乙個學生的成績,首先必須建立出這個學生對應的物件,然後,給物件發乙個print_score訊息,讓物件自己把自己的資料列印出來。

程式實現如下:

class student(object):

def __init__(self, name, score):

self.name = name

self.score = score

def print_score(self):

print '%s: %s' % (self.name, self.score)

bart = student('bart simpson', 59)

lisa = student('lisa simpson', 87)

bart.print_score()

lisa.print_score()

資料封裝:

類有自己對應的屬性和方法,乙個類可以例項化出多個不同的物件,每個例項通過類的方法可以訪問各自的資料。

注意:訪問限制

屬性的名稱前加上兩個下劃線__,在python中,例項的變數名如果以__開頭,就變成了乙個私有變數(private),只有內部可以訪問,外部不能訪問。

在訪問限制的情況下,需要定義對應的get_和set_方法來獲取屬性值或者對屬性賦值。

繼承:

當我們定義乙個class的時候,可以從某個現有的class繼承,新的class稱為子類(subclass),而被繼承的class稱為基類、父類或超類(base class、super class)。繼承可以使子類獲得了父類的全部功能,同時在繼承的基礎上可以產生多型。

多型:

當子類和父類有相同的方法時,子類的方法會覆蓋父類的方法。

注意:使用dir可以獲得乙個物件的所有屬性和方法。

python學習 物件導向程式設計

物件導向程式設計 object oriented programming,簡稱oop,是一種程式設計思想。oop把物件作為程式的基本單元,乙個物件包含了資料和運算元據的函式。面向過程的程式設計把電腦程式視為一系列的命令集合,即一組函式的順序執行。為了簡化程式設計,面向過程把函式繼續切分為子函式,即把...

Python學習 物件導向程式設計

物件導向 現實 具體的事物 程式 物件 物件導向涉及的 類物件 屬性方法 物件 例如 小明的手機 小紅的手機 小綠的手機 以上是物件的集合,某某某的手機就是具體的事物,在程式中就是物件。從物件中提取共同的特徵或者特點,作為乙個類別屬性。類別 手機類。電腦類學生類 等等共同的特徵 品牌 顏色 共同的動...

物件導向程式設計 python 學習筆記

物件導向程式設計 object oriented programming,簡稱oop,是一種程式設計思想。oop把物件作為程式的基本單元,乙個物件包含了資料和運算元據的函式。面向過程的程式設計把電腦程式視為一系列的命令集合,即一組函式的順序執行。為了簡化程式設計,面向過程把函式繼續切分為子函式,即把...