2 類和物件

2021-09-11 01:50:11 字數 2183 閱讀 6767

類即類別、種類,是物件導向設計最重要的概念,從一小節我們得知物件是特徵與技能的結合體,而類則是一系列物件相似的特徵與技能的結合體。

那麼問題來了,先有的乙個個具體存在的物件(比如乙個具體存在的人),還是先有的人類這個概念,這個問題需要分兩種情況去看

世界上肯定是先出現各種各樣的實際存在的物體,然後隨著人類文明的發展,人類站在不同的角度總結出了不同的種類,比如

人類、動物類、植物類等概念。也就說,物件是具體的存在,而類僅僅只是乙個概念,並不真實存在,比如你無法告訴我人類

具體指的是哪乙個人。

這與函式的使用是類似的:先定義函式,後呼叫函式,類也是一樣的:在程式中需要先定義類,後呼叫類。不一樣的是:呼叫

函式會執行函式體**返回的是函式體執行的結果,而呼叫類會產生物件,返回的是物件

按照上述步驟,我們來定義乙個類(我們站在老男孩學校的角度去看,在座的各位都是學生)

物件1:李坦克

特徵:學校=oldboy

姓名=李坦克

性別=男

年齡=18

技能:學習

吃飯睡覺

物件2:王大炮

特徵:學校=oldboy

姓名=王大炮

性別=女

年齡=38

技能:學習

吃飯睡覺

物件3:牛榴彈

特徵:學校=oldboy

姓名=牛榴彈

性別=男

年齡=78

技能:學習

吃飯睡覺

現實中的老男孩學生類

相似的特徵:

學校=oldboy

相似的技能:

學習吃飯

睡覺

#在python中程式中的類用class關鍵字定義,而在程式中特徵用變數標識,技能用函式標識,因而類中最常見的無非是:變數和函式的定義

class oldboystudent:

school='oldboy'

def learn(self):

print('is learning')

def eat(self):

print('is eating')

def sleep(self):

print('is sleeping')

注意:

oldboystudent.school #查

oldboystudent.school='oldboy' #改

oldboystudent.x=1 #增

del oldboystudent.x #刪

s1=oldboystudent()

s2=oldboystudent()

s3=oldboystudent()

#如此,s1、s2、s3都一樣了,而這三者除了相似的屬性之外還各種不同的屬性,這就用到了__init__

#注意:該方法是在物件產生之後才會執行,只用來為物件進行初始化操作,可以有任意**,但一定不能有返回值

class oldboystudent:

......

def __init__(self,name,age,***):

self.name=name

self.age=age

self.***=***

......

s1=oldboystudent('李坦克','男',18) #先呼叫類產生空物件s1,然後呼叫oldboystudent.__init__(s1,'李坦克','男',18)

s2=oldboystudent('王大炮','女',38)

s3=oldboystudent('牛榴彈','男',78)

#執行__init__,s1.name='牛榴彈',很明顯也會產生物件的命名空間可以用s2.__dict__檢視,檢視結果為

s2.name #查,等同於s2.__dict__['name']

s2.name='王三炮' #改,等同於s2.__dict__['name']='王三炮'

s2.course='python' #增,等同於s2.__dict__['course']='python'

del s2.course #刪,等同於s2.__dict__.pop('course')

類和物件2

一,建構函式 特性 函式名與類名相同。無返回值。物件例項化時編譯器自動呼叫對應的建構函式。建構函式可以過載。class date date void init int year,int month,int day void init date this,int year,int month,int ...

2 類和物件

類是一種資料型別,設計時系統不為類分配儲存空間,所以不能去訪問類裡面的資料成員,也不能去初始化類裡 面的資料成員。只能訪問這個類所產生的物件的資料成員 前提是共有 eg 類相當於圖紙是描述和規劃的藍圖,而物件就是圖紙例項化後的實體物件 樓房 計算機不給類分配記憶體,只給物件分配記憶體。建立物件有兩種...

類和物件2

物件的定義 物件等同於資料加操作 物件 資料 操作 屬性 filed 方法 method 類 類是產生物件的模板 圖紙 學會定義類要解決下面兩個問題 1.如何使用定義好的類,例項化出物件 2.學會使用物件 通過引用 1.操作物件中的屬性 2.呼叫物件關聯的方法 一.如何定義類 public clas...