黑馬程式設計師 oc隨記 類方法與物件方法
------- android培訓、java培訓、ios培訓、期待與您交流! ----------
類方法與物件方法相比較,最根本的好處在於節省記憶體空間。
物件方法在執行時是先從記憶體棧區訪問記憶體堆區的地址,再從記憶體堆區尋找方法位於記憶體程式碼區的地址,最終返回值。
而類方法則是直接從記憶體棧區訪問記憶體程式碼區的方法,爾後得到值返回到記憶體棧區輸出,後者比起前者少經過一個記憶體堆區,其消耗的記憶體空間相較於前者也更加節省。
類方法是無法呼叫例項變數的,解決之道是設定一個形參,在方法中呼叫形參以達到與呼叫例項變數相類似的功能。
在物件方法中呼叫其他物件方法的手段:
1,可以直接在物件方法中新建一個物件(例:person
2,使用self呼叫
3,將物件作為方法的引數傳遞入物件方法,然後呼叫該物件的物件方法。
在類方法中呼叫其他類方法的手段:
1,可以直接呼叫本類的類方法。
2,以self呼叫
Self 在當前方法中使用,使用時指代的是呼叫當前方法的方法物件。
例:[p1 run][self run],self就是指代了p1。
self在類方法中使用指代的是當前的類。
相關推薦
黑馬程式設計師 oc隨記 類方法與物件方法
------- android培訓、java培訓、ios培訓、期待與您交流! ---------- 類方法與物件方法相比較,最根本的好處在於節省記憶體空間。 物件方法在執行時是先從記憶體棧區訪問記憶體堆區的地址,再從記憶體堆區尋找方法位於記憶體程式碼區的地址,最終返回值。
黑馬程式設計師--OC基礎--類方法、物件方法和self的使用
1、類方法 (1)類方法就是一個方法,它的使用不需要使用者去建立一個類的例項進行呼叫而可以直接通過類名對方法進行呼叫。 宣告一個類方法的格式: +(返回值型別) 方法名:(引數1型別)引數1名稱 方法名:(引數2型別)引數2名稱; 例:
黑馬程式設計師-OC-類方法和物件方法的呼叫
1.類方法 宣告:在.h檔案中宣告,必須以+開頭。 實現:在.m檔案中實現 2.物件方法 宣告:在.h檔案中宣告,必須以-開頭。 實現:在.m檔案中實現 對比: 1)類方法只能類呼叫,物件方法只能物件呼叫 2)類方法與物件方法可以
黑馬程式設計師—OC—類方法 && self
*** 類方法 *** 宣告和實現: @interface Person : NSObject + (void) age; //宣告一個類方法 @end @implementation Person + (void) age //類方法的實現 {
黑馬程式設計師——OC基礎——set方法和get方法
-----------android培訓、java培訓、java學習型技術部落格、期待與您交流!------------ 我們在OC中定義一個類的時候,它的成員變數預設情況下是@protected的。這是因為我們的成員變數一般不允許直接去訪問,如果需要修改和訪問成員變數我們
黑馬程式設計師——OC基礎——構造方法
-----------android培訓、java培訓、java學習型技術部落格、期待與您交流!------------ 前面我們用OC的類建立物件的時候我們用的是new方法。其實new方法是一個組合的方法,它是由兩個方法組合在一塊的,分別是alloc方法和init方法。其
黑馬程式設計師-OC——類和物件
類名;Car 屬性 :輪胎個數、時速 行為:跑 // 因為使用了NSobject #import <Foundation / Foundation .h> //完整地寫一個函式:函式的宣告和實現 //完整的寫一個類:類的宣告和實現 // 類的宣告 //宣告物件的
黑馬程式設計師-OC學習筆記-點方法、成員變數作用域以及set方法和get方法@property的綜合題
------<a href="http://www.itheima.com" target="blank">Java培訓、Android培訓、iOS培訓、.Net培訓</a>、期待與您交流! ------- 1. OC建立物件的拓展: Frac
黑馬程式設計師——Java之String類、基本資料型別物件包裝類等
例如:parseInt("0", 10) 返回 0。 parseInt("473", 10) 返回 473。 parseInt("-0", 10) 返回 0。 parseInt("-FF", 16) 返回 -255。 parseInt("1100
黑馬程式設計師——OC語言基礎——面向物件三大特性之多型
繼前兩篇博文梳理了一下我對OC中面向物件三大特性的封裝、繼承之後。最重要也是最不容易理解的多型概念終於到來。 個人認為多型在三大特性中是最為重要的,但是由於它的概念性不容易用語言描述清楚,所以我還是想引用視訊教程中老師說的那句經典。 多型的實質就是: 父類的指標 指向了
黑馬程式設計師 —OC(@property和@synthesize)
1. @property @property用在@interface中,寫法如下: #import<Foundation/Foundation.h> @interface Person :NSObject { int _a
黑馬程式設計師——Foundation框架——包裝類以及NSDate
在複習了Foundation的集合類之後,繼續我的Foundation複習。 一、NSNumber和NSValue 在Foundation框架中,為我們提供了NSNumber和NSValue兩個包裝類,分別是用來包裝數字資料型別,和任意型別。NSNumber繼承自NSV
黑馬程式設計師————OC記憶體管理_筆記整理(二)
一、@Prpperty引數 // 加上retain:表示生成的set方法,release舊值,retain新值 @property (retain) Book *book; // oc物件型別 //@property (nonatomic,retain) 類名 *屬性名
黑馬程式設計師 OC基礎: 記憶體管理
記憶體管理 簡述 每個 oc 物件都有自己的引用計數器,是一個整數,表示”物件被引用的次數”.佔四位元組 計數器預設值為1 當為0時,物件佔用的記憶體會被系統回收. 引用的操作 給物件傳送一條 retain 計數器+1 給物件傳送一
黑馬程式設計師-OC學習筆記-----記憶體管理
移動裝置的記憶體極其有限,每個app所能佔用的記憶體是有限制的.當app所佔用的記憶體較多時,系統會發出記憶體警告,這時得回收一些不需要再使用的記憶體空間。比如回收一些不需要使用的物件、變數等。基本的資料型別是放在記憶體的棧裡面,這是不需要我們去管理的,系統會自動回收。但是
黑馬程式設計師——OC的記憶體管理
1.記憶體的建立和釋放 讓我們以Object-c世界中最最簡單的申請記憶體方式展開,談談關於一個物件的生命週期。首先建立一個物件: id testObject = [[ClassName alloc] init]; //“ClassName”是任何你
黑馬程式設計師——OC筆記之記憶體管理
Objective-C提供了三種記憶體管理方式: MannulReference Counting(MRC,手動管理, iOS4.1之前的版本) automatic reference counting(ARC,自動引用計數,iOS4.1 之後推出的) garbage collection(垃圾回收)。iO
黑馬程式設計師——OC基礎---Foundation框架之結構體
一、概述 Foundation—基礎框架。框架中包含了很多開發中常用的資料型別,如結構體,列舉,類等,是其他ios框架的基礎。 如果要想使用foundation框架中的資料型別,那麼包含它的主標頭檔案就可以了。 即#import #import &l
[黑馬程式設計師][OC]記憶體管理
一、記憶體管理的基本原理 1.什麼是記憶體管理 移動裝置的記憶體極其有限,每個app所能佔用的記憶體是有限制的,當app所佔用的記憶體較多時,系統會發出記憶體警告,這時得回收 一些不需要再使用的記憶體空間。比如回收一些不需要使用的物件、變數等。管理範圍:任何繼承了NS
黑馬程式設計師————OC記憶體管理_ARC
ARC( Autom Reference Counting) 是一個編譯器特性,會自動檢測幫我們release 一、ARC基本原理 1.編譯器特性 編譯程式碼的過程中會自動檢測哪裡需要插入自動釋放記憶體的程式碼 // 新建立一個物件,會自動釋放物件 P