物件導向 day07 類的例項化過程剖析(三)

2022-09-15 11:00:31 字數 2521 閱讀 4891

1、概述

2、類的語法

3、總結

之前我們說關於python中的類,都一臉懵逼,都想說,類這麼牛逼到底是什麼,什麼才是類?下面我們就來講講,什麼是類?它具有哪些特性。12

3456

78910

1112

1314

15classdog(object):#用class定義類

"dog class"#對類的說明

def__init__(self,name):#建構函式或者是構造方法,也可以叫初始化方法

self.name=name

defsayhi(self):#類方法

"sayhi funcation"#對類方法的說明

print("hello,i am a dog,my name is ",self.name)

d=dog("alex")#定義乙個d的物件,叫例項

d.sayhi()#呼叫例項的方法

有很多小夥伴不禁的疑問,這個self是什麼鬼?為什麼在執行sayhi函式時,上面的self.name可以在函式中被呼叫?如下圖:

其實self 這個關鍵字相當於例項化物件本身(self相當於d),在例項化過程中,把自己傳進去了,我們隊上面的兩行做一下解釋:

在類中__init__()函式叫建構函式,又叫構造方法,也可以叫初始化函式。它的作用就是初始化例項時,初始化傳入例項的的預設值。如果不寫__init__(),就會呼叫的預設為空的__init__(),說白了,這個方法不管你寫不寫,都會呼叫,而且,一旦例項化就會呼叫。12

3456

78910

1112

13classdog(object):

"dog class"

def__init__(self,name):#構造方法,不寫呼叫預設的構造方法

self.name=name

defeat(self,food):

print("the dog name is ,it like food is ".format(self.name,food))

d=dog("alex")

d.eat("hotdog")

#輸出

the dog nameisalex,it like foodishotdog

最後我們畫乙個圖,來說明一下實話過程的圖,不然真的很難理解這個玩意:

由上圖可知:其實self,就是例項本身!你例項化時python會自動把這個例項本身通過self引數傳進去

day07物件導向

為什麼使用抽象類 1 定義 dog類 有顏色屬性和叫的方法 2 定義 bird 類有顏色屬性和叫的方法 3 定義其父類 animal 1 抽取共性顏色屬性和叫的方法 1 顏色的屬性可以使用預設初始化值。2 叫的方法在父類中如何定義?1 狗是旺旺 2 鳥是嘰嘰喳喳 3 可以將父類的方法定義為狗叫讓鳥繼...

Day 07 類和物件

1.類 1 類 具有相同的屬性和方法的物件的集合。2 物件 萬物皆物件 3 語法 class 類名 屬性方法 4 定義乙個類 class student pass 空語句,不做任何操作,一般用作佔位語句,用於保證格式完整,保證語義完整 5 類名的命名規範 1.首字母大寫 2.以大寫字母分隔單詞 cl...

Day07 物件導向2(繼承)

1.概述 2.構造 塊 3.區域性 塊 4.測試package cn.tedu.oop 測試 塊 總結 1.構造方法 用來建立物件或者完成物件的初始化,在new時觸發 2.構造 塊 位置是類裡方法外,作用是抽取狗髒方法的共性,在new時觸發 3.區域性 塊 位置是方法類,作用是控制變數的作用範圍,當...