從物件導向開始,我們就已經進入了程式語言的高階部分,但我們一定以之前學習的內容為基礎,來構建
自己的程式設計金字塔。
python從設計之初就已經是一門物件導向的語言,正因為如此,在python中建立乙個類和物件是很容易的。本章節我們將詳細介紹python的物件導向程式設計。
如果你以前沒有接觸過物件導向的程式語言,那你可能需要先了解一些物件導向語言的一些基本特徵,在頭腦裡頭形成乙個基本的物件導向的概念,這樣有助於你更容易的學習python的物件導向程式設計。
接下來我們先來簡單的了解下物件導向的一些基本特徵。
物件導向技術簡介
這個部分介紹的不僅僅是獨指python,他是所有具有物件導向語言應該有的並且能實現的概念,務必牢記每一條。
專業名詞
定義類(class):
用來描述具有相同的屬性和方法的物件的集合。它定義了該集合中每個物件所共有的屬性和方法。物件是類的例項
方法重寫
如果從父類繼承的方法不能滿足子類的需求,可以對其進行改寫,這個過程叫方法的覆蓋(override),也稱為方法的重寫
例項化建立乙個類的例項,類的具體物件
其實還有一些,只是寫到這兒我覺得稍顯枯燥,所以把神秘的面紗交給各位coder自己去查閱了
建立類簡單的類編寫:
class
myclass
:"""乙個簡單的類例項"""
i =12345
deff
(self)
:return
'hello world'
# 例項化類
x = myclass(
)# 訪問類的屬性和方法
print
("myclass 類的屬性 i 為:"
, x.i)
print
("myclass 類的方法 f 輸出為:"
, x.f())
# 輸出結果為:
# myclass 類的屬性 i 為: 12345
# myclass 類的方法 f 輸出為: hello world
構造器
構造器再使用的時候,即使類本身沒有這個屬性,也可以呼叫,即用即取
class
complex
:def
__init__
(self, realpart, imagpart)
: self.r = realpart
self.i = imagpart
x = complex(
3.0,
-4.5
)print
(x.r, x.i)
# 輸出結果:3.0 -4.5
self
self代表類的例項,而非類
類的方法與普通的函式只有乙個特別的區別——它們必須有乙個額外的第乙個引數名稱, 按照慣例它的名稱是 self。
class
test
:def
prt(self)
:print
(self)
print
(self.__class__)
t = test(
)t.prt(
)
繼承
python 同樣支援類的繼承,如果一種語言不支援繼承,類就沒有什麼意義。
class
people
:#定義基本屬性
name =
'' age =
0#定義私有屬性,私有屬性在類外部無法直接進行訪問
__weight =
0#定義構造方法
def__init__
(self,n,a,w)
: self.name = n
self.age = a
self.__weight = w
defspeak
(self)
:print
("%s 說: 我 %d 歲。"
%(self.name,self.age)
)#單繼承示例
class
student
(people)
: grade =
''def
__init__
(self,n,a,w,g)
:#呼叫父類的構函
people.__init__(self,n,a,w)
self.grade = g
#覆寫父類的方法
defspeak
(self)
:print
("%s 說: 我 %d 歲了,我在讀 %d 年級"
%(self.name,self.age,self.grade)
)s = student(
'ken',10
,60,3
)s.speak(
)
更厲害的是,python支援多繼承喲~ 格式和單繼承並沒有多大的區別
class
derivedclassname
(base1, base2, base3)
:1>..
.
私有化
私有化的表示就很簡單了,在屬性和方法的前面加上兩個下劃線就表示私有了 「__」。
這個私有就是真的私有了,例項都不能訪問它。
python物件導向學習 python物件導向學習
物件導向最重要的概念就是類 class 和例項 instance 必須牢記類是抽象的模板,比如student類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。物件導向三個概念 1.封裝 即把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法讓可信的類進...
python物件導向總結 Python物件導向總結
python 物件導向 oop 1 物件導向 是乙個更大封裝,把乙個物件封裝多個方法 2 類 是對一些具有相同特徵或行為的事物的乙個統稱,是抽象的,不能直接使用 特徵被稱為屬性 行為被稱為方法 3 物件 是由類建立出來的乙個具體的存在,可以直接使用 先有類再有物件,類只有乙個,而物件可以有多個 類中...
python登入物件導向 python 物件導向
一 屬性和方法 1.a a 例項屬性 通過例項物件來新增的屬性就是例項屬性 a.count 10 例項方法都是在類中直接定義的 以self為第乙個引數的方法都是例項方法 當通過例項物件呼叫時,會自動傳遞當前物件作為self傳入 當通過類物件呼叫時,不會自動傳遞self a.test 等價於 a.te...