《effective objective-c 2.0 編寫高質量ios與os x**的52個有效方法》(第十四條:理解「類物件」的用意)筆記
要點如下:
1、物件型別要在執行期查詢,並非在編譯期就繫結好
2、根據第12條知道,編譯器無法知道某型別物件能處理多少方法
3、oc物件例項都是指標(*),所以存在堆裡,不帶 * 的會存棧中
4、oc物件結構體:
id型別的結構體(注意:id已帶 * 號):其中isa是class物件(類物件),class的結構體為:typedef struct objc_object *id;
此結構體首個變數也是isa指標,說明class也是oc物件,即類物件;typedef struct objc_class *class;(類物件)
struct objc_class
乙個類僅有乙個類物件,即類物件是單例;
class結構體中的isa指標指向「元類」,裡面放著「類方法」;
物件和類的理解
什麼是物件 程式中的物件是對現實物件的抽象。現實中的物件包括可感知的物體以及思維中的概念。例如,天鵝 鬧鐘 飛機等各種物體可以看做乙個個的物件,學校 公司 家庭等概念也可以看做乙個個的物件。現實物件有乙個特點,即它是具有屬性和行為的整體。例如乙個鬧鐘具有當前時間刻度 預定時間等 屬性 並具有指示時間...
對類和物件的理解
物件是類的乙個例項,比如人類這個概念是類,具體到某個人就是物件 我知道類在寫程式的時候是class這個程式塊,但不知道程式塊裡面什麼可以被稱為物件,感覺在源 裡,類是乙個具體的概念,因為我知道class宣告的就是乙個類 物件反而成了抽象的了。我的理解 當你說 人類 的時候,它有姓名年齡身高體重等各種...
物件與類的自我理解
定義main主類,是乙個主方法 定義乙個類 根據物件的需求來編寫類 建立乙個物件 根據類的模板 呼叫物件中的方法 方法是在類中的定義好的 以類的方式組織 以物件的方式封裝資料。物件 狀態 特徵,屬性 資料域 行為 動作 方法 類是對物件的抽象,可拓展為多個物件,將物件歸納整理即可稱為類。通過引用變數...