OC 例項變數修飾符和description

2021-08-28 03:00:20 字數 1728 閱讀 7219

一.例項變數修飾符

@public

1.可以在其他類中訪問被@public修飾的成員變數

2.也可以在本類中訪問被@public修飾的成員變數

3.可以在子類中訪問父類中被@public修飾的成員變數

@private

1.不可可以在其他類中訪問被@private修飾的成員變數

2.也可以在本類中訪問被@private修飾的成員變數

3.不可以在子類中訪問父類中被@private修飾的成員變數

@protected

1.不可可以在其他類中訪問被@protected修飾的成員變數

2.也可以在本類中訪問被@protected修飾的成員變數

3.可以在子類中訪問父類中被@protected修飾的成員變數

注意:預設情況下所有的例項變數都是protected

@package

1介於public和private之間的,如果是在其他包中訪問就是private,在當前**中訪問就是public.
二.、description方法description方法包括類方法和物件方法。(nsobject類所包含)

(一)基本知識

-description(物件方法)

使用nslog和@%輸出某個物件時,會呼叫物件的description方法,並拿到返回值進行輸出。
+description(類方法)

使用nslog和@%輸出某個物件時,會呼叫類物件的description方法,並拿到返回值進行輸出,把整個物件一次性列印出來,列印物件使用%@。

重寫description方法,實現對物件所有屬性的列印。

(二)實現列印物件的所有屬性

三)區別

+description方法決定了類物件的輸出結果,即類本身

-description方法決定了例項物件的輸出結果,即person建立的物件。

二、sel

sel:全稱selector 表示方法的儲存位置。

方法在記憶體中是怎麼儲存的?

尋找方法的過程:

(1)首先把test這個方法名包裝成sel型別的資料;

(2)根據sel資料找到對應的方法位址;

(3)根據方法位址呼叫相應的方法。

(4)注意:在這個操作過程中有快取,第一次找的時候是乙個乙個的找,非常耗效能,之後再用到的時候就直接使用。

關於_cmd:每個方法的內部都有乙個-cmd,代表著當前方法。

oc23 變數修飾符

import public 所有類訪問 private 本類訪問 protected 本類子類,預設情況下所有的例項變數都是protected package 包範圍,框架範圍子類。例項變數修飾符作用域 從出現的位置開始,一直到下乙個修飾符出現,如果沒有遇到下乙個例項變數修飾符,那麼就會修飾後面所有...

java 類修飾符 成員變數修飾符 方法修飾符總結

類修飾符 public 訪問控制符 將乙個類宣告為公共類,他可以被任何物件訪問,乙個程式的主類必須是公共類。abstract,將乙個類宣告為抽象類,沒有實現的方法,需要子類提供方法實現。final,將乙個類生命為最終 即非繼承類 表示他不能被其他類繼承。friendly,預設的修飾符,只有在相同包中...

OC 屬性修飾符篇

一 mrc 與 arc 各自的屬性修飾符 1 屬性修飾符按 規範的順序2 是否原子操作 是否可讀寫 記憶體管理 3 property nonatomic,readwrite,copy nsstring str 4 ps 屬性修飾符順序並沒有硬性規定。二 記憶體管理修飾符 retain 引用計數加1。...