什麼是類
類即類別、種類,是物件導向設計最重要的概念,物件是特徵與技能的結合體,而類則是一系列物件相似的特徵與技能的結合體
在現實世界中:先有物件,再有類
世界上肯定是先出現各種各樣的實際存在的物體,然後隨著人類文明的發展,人類站在不同的角度總結出了不同的種類,如人類、動物類、植物類等概念
也就說,物件是具體的存在,而類僅僅只是乙個概念,並不真實存在
在程式中:務必保證先定義類,後產生物件
這與函式的使用是類似的,先定義函式,後呼叫函式,類也是一樣的,在程式中需要先定義類,後呼叫類
不一樣的是,呼叫函式會執行函式體**返回的是函式體執行的結果,而呼叫類會產生物件,返回的是物件
ps: 站的角度不同,定義出的類是截然不同的
ps:現實中的類並不完全等於程式中的類,比如現實中的公司類,在程式中有時需要拆分成部門類,業務類......
ps:有時為了程式設計需求,程式中也可能會定義現實中不存在的類,比如策略類,現實中並不存在,但是在程式中卻是乙個很常見的類
類有兩種屬性:資料屬性和函式屬性
1. 類的資料屬性是所有物件共享的
類的資料屬性是所有物件共享的,id都一樣
print(id(oldboystudent.school))
print(id(s1.school))
print(id(s2.school))
print(id(s3.school))
2. 類的函式屬性是繫結給物件用的
類的函式屬性是繫結給物件使用的,obj.method稱為繫結方法,記憶體位址都不一樣
ps:id是python的實現機制,並不能真實反映記憶體位址,如果有記憶體位址,還是以記憶體位址為準
print(oldboystudent.learn)
print(s1.learn)
print(s2.learn)
print(s3.learn)
>
>
>
2)類與物件
public class dog void hungry void sleeping 乙個類可以包含以下型別變數 構造方法 class person static void main string args 例如 hello hello new hello 這時呼叫的是hello的無引數構造方法 h...
類與物件(2)
1.類的定義 型別 type 是乙個概念的具體表示。依照oo的理念 如果不 能用內建型別表達乙個概念,則我們設計乙個新型別去表達 乙個概念。任何乙個資料型別都封裝兩方面的資訊 資料 操作 2.類的組成 1 一組資料成員 data member 定義了該類物件所共有的屬性 類似於結構體成員 2 一組成...
類與物件2
使用的情況 在類的非靜態成員函式中返回類物件本身或物件的引用的時候return this 返回物件 return this 返回物件的位址當引數與成員變數名相同時。在建構函式中 引數與類成員相同時,不能寫成 x x 應為 this x x 避免對同一物件進行賦值操作,判斷兩個物件是否相同時,使用th...