類即類別、種類,是面向?qū)ο?/strong>設(shè)計最重要的概念,從一小節(jié)我們得知對象是特征與技能的結(jié)合體,而類則是一系列對象相似的特征與技能的結(jié)合體。
那么問題來了,先有的一個個具體存在的對象(比如一個具體存在的人),還是先有的人類這個概念,這個問題需要分兩種情況去看
在現(xiàn)實世界中:肯定是先有對象,再有類
世界上肯定是先出現(xiàn)各種各樣的實際存在的物體,然后隨著人類文明的發(fā)展,
人類站在不同的角度總結(jié)出了不同的種類,比如人類、動物類、植物類等概念。
也就說,對象是具體的存在,而類僅僅只是一個概念,并不真實存在,
比如你無法告訴我人類具體指的是哪一個人。
在程序中:務(wù)必保證先定義類,后產(chǎn)生對象
這與函數(shù)的使用是類似的:先定義函數(shù),后調(diào)用函數(shù),類也是一樣的:
在程序中需要先定義類,后調(diào)用類。不一樣的是:調(diào)用函數(shù)會執(zhí)行函數(shù)體代碼
返回的是函數(shù)體執(zhí)行的結(jié)果,而調(diào)用類會產(chǎn)生對象,返回的是對象
類的定義
我們來定義一個類(我們站在學校的角度去看,在座的各位都是學生)
在現(xiàn)實社會中,先有對象,再有類
在程序中,務(wù)必保證:先定義(類),后使用類(用來產(chǎn)生對象)
注意:
類中可以有任意python代碼,這些代碼在類定義階段便會執(zhí)行,因而會產(chǎn)生新的名稱空間,用來存放類的變量名與函數(shù)名,可以通過OldboyStudent.__dict__查看
類中定義的名字,都是類的屬性,點是訪問屬性的語法。
對于經(jīng)典類來說我們可以通過該字典操作類名稱空間的名字,但新式類有限制
總結(jié):
1,站的角度不同,定義出來的類是截然不同的
2,現(xiàn)實中的類并不完全等于程序中的類,比如現(xiàn)實中的公司類,在程序中有時需要拆分成部門類,業(yè)務(wù)類。
3,有時候為了編程需求,程序中也有可能會定義現(xiàn)實中不存在的類,比如策略類,現(xiàn)實中并不存在,但是在程序中確實一個很常見的類。
以上內(nèi)容為大家介紹了Python之什么是類,什么是對象?,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。