OC中類與物件的使用介紹

2021-07-04 14:36:57 字數 1552 閱讀 4779

1 類如何生成:擁有相同(類似)屬性和行為的物件都可以抽象出乙個類。類只是一張物件的設計圖。

2   設計類的有幾部分

(1) 類名(書寫規範)

類名的第乙個字母必須是大寫

不能有下劃線

多個英文單詞,用駝峰表示

(2)屬性

(3)行為:哪個物件對行為最清楚,就把行為寫到哪個物件中去。

3  oc中類的書寫格式

(1)在oc中,想執行一些行為,就寫上乙個中括號[行為執行者   行為名稱];

(2)利用類來建立物件。

(3):nsobject 目的是:讓繼承它的類具備建立物件的能力。

(4)#import目的是:nsobject在foundation框架中的foundation.h檔案中進行了宣告。

(5)類中的成員變數預設的會被初始化為0;

4 oc中類與物件深入剖析

(1)oc中只能用指標來間接操縱物件

(2)[類名  new]會建立出乙個新物件,並且會返回新物件本身(新物件的位址)每次new建立 都返回新位址。

(3)錯誤提示中常見「instance variable」意思是例項變數,即類定義的成員變數。

(4)因為類中的成員變數(例項變數)是預設為protected的,所以想在外部用物件指標訪問成員變數的方法之一就是在例項變數宣告的前面加@public

(5)方法(行為)三要素:方法名、引數、返回值(宣告、實現)。注意:方法與函式是不同的,函式指在外部建立的操作塊。方法僅僅指oc類的成員行為。

(6)oc方法中任何資料型別都必須用小括號()擴住,oc方法中的小括號就有乙個作用:擴住資料型別。

(7)物件與類的記憶體分析:每次用[類  new]建立物件時還要給類分配儲存空間。也就是說在使用類建立物件之前,會將類載入進記憶體,且只載入一次。類中放置的是方法列表。每個物件內部預設都有乙個isa指標。且每個isa指標都指向載入進記憶體的自己所屬的類。給物件傳送訊息的流程如下:假設有乙個person類,生成p1物件即person *p1=[person new];  已知類只會載入一次裡面儲存的是類的方法列表。裡面有可以訪問類的例項變數的方法。當類被載入進記憶體之後,在利用這個類建立物件時會把載入進來的這個類所在記憶體的位址即isa放置到它所建立的物件內,(它所建立的所有物件都有相同的isa指標且都指向它)。當給乙個物件傳送訊息時,這個物件便會利用isa指標找到類的相應方法。

(8)oc中的物件是不會自動**的,除非手動釋放它。當出{}之後,指向這個物件的指標是個棧變數會被自動**,但它所指向的物件仍在記憶體之中。未被釋放的物件直至main函式執行完畢才能自動被**。就是說,在程式執行結束時所有未被釋放的物件都會被系統自動**。

5、常見錯誤:

(1)@inte***ce類宣告部分和@implementation類實現部分是不能巢狀的。

(2)@inte***ce類宣告部分是不能有類方法的實現的。這與c++不同。

(3)@inte***ce類宣告部分的{}內宣告例項變數時,是不允許賦初值的,且不允許在內部宣告例項(即成員)變數時加上c語言的型別如static等型別的。

(4)在乙個main.m檔案中,類的實現可以放在main函式後面,但是類的宣告是必須放在main函式前面的。

OC中類與物件的使用介紹

1 類如何生成 擁有相同 類似 屬性和行為的物件都可以抽象出乙個類。類只是一張物件的設計圖。2 設計類的有幾部分 1 類名 書寫規範 類名的第乙個字母必須是大寫 不能有下劃線 多個英文單詞,用駝峰表示 2 屬性 3 行為 哪個物件對行為最清楚,就把行為寫到哪個物件中去。3 oc中類的書寫格式 1 在...

oc中類和物件

類與物件的概念 類是對同一類事物高度的抽象,類中定義了這一類物件所應具有的靜態屬性 屬性 和動態屬性 方法 物件是類的乙個例項,是乙個具體的事物。類與物件是抽象與具體的關係。類其實就是一種資料型別,它的變數就是物件。類與類之間的關係 繼承關係 a是b如果這句話說的通,在設計程式的時候就可以看成是繼承...

OC類的介紹

類的本質 1,類也是個物件 其實類也是乙個物件,是class型別的物件,簡稱 類物件 class型別的定義 typedef struct objc class class 類名就代表著類物件,每個類只有乙個類物件 2,獲取類物件的2種方式 1 class c person class 2 perso...