標籤:style io color os 使用 sp 檔案 div log
屬性本質
•什麼是屬性
在OC中,屬性提供了setter和getter方法,本質上屬性就是方法,屬性的值是由執行個體變數來儲存的。
• 屬性的本質(一般三個部分組成)
a.儲存屬性值的執行個體變數int _age;
b.setter和getter方法的聲明
1.)setter方法:方法名+“set”+屬性名稱並首子母大寫 +“:”+和屬性類型?樣的參數,無傳回值。
-(void)setAge:(int)newAge;
2.)getter?方法:方法名和屬性名稱一樣,沒有參數,傳回值類型和屬性類型一樣。
-(int)age;
c.setter方法和getter方法的實現
setter方法的實現主要用來給屬性賦值的; 對象.屬性 = 值==>會自動調用setter方法
getter方法的實現主要用來讀取屬性值的 ;變數=引用.屬性;=>會自動調用getter方法
stu.age = 18;//給屬性賦值 setter!
NSLog(@“age:%d",stu.age);//取屬性值 getter
• 聲明式屬性
a.定義執行個體變數
b.聲明式屬性
1).h檔案中int屬性類型 age屬性名稱 ,自動產生了setter和getter
@property int age;
2).將屬性與執行個體變數關聯在一起 .m?檔案中
@synthesize age = _age;
c.屬性的使用
引用.屬性 = 值;=>會自動調用setter方法
變數 = 引用.屬性;=>會自動調用getter方法
• IOS5中的屬性 屬性的聲明簡化了
a.省去了執行個體變數聲明,會自動產生執行個體變數名為:_屬性名稱的執行個體變數
b.聲明式屬性
1).h?檔案中 int 屬性類型 age 屬性名稱,自動產生了setter和getter!
@property int age;
2).將屬性與執行個體變數關聯在?起 .m?件中!
@synthesize age = _age;
• IOS6中的屬性 屬性的聲明簡化了
a.省
b. 1)保留
2)省@synthesize age = _age;
c.保留
d.屬性的演變過程,如果你不滿意,可以?己重寫。
初始化方法
• 什麼是初始化方法 用來初始化對象的方法。
• 無參初始化方法 初始化?方法都是以“init”開頭的,無參的初始化方法叫“init”。
• 有參初始化方法 有參的都以"initWith..."開頭。
• id類型 初始化?方法的傳回值為"id"類型。(void*)
• self關鍵字 self代表當前對象或當前類,self就是當前對象的引用。
(地址)初始化方法 • super關鍵字 super代表類的父類,[super init]是通知父類去做底層的初始化操作。
類方法
• 什麼是類方法 只能通過類調用的方法叫類方法。”+"
• 類方法的定義、類方法與執行個體方法區別
a.執行個體方法與執行個體有關係,所以執行個體方法可以調用、讀取執行個體中的執行個體變數或屬性。
b.類方法與執行個體無關係,所以類方法不可以調用、讀取執行個體中執行個體變數和屬性。
c.在類方法中可以建立對象,可以訪問該對象的執行個體變數和屬性。
Factory 方法
• 什麼是Factory 方法 生產(建立)對象的方法,叫工廠?法。 類中經常會出現?些Factory 方法,其目的是為了方便建立對象。
• 無參的Factory 方法 Factory 方法的方法名一定以類名開頭,注意去除了首碼和首字母要小寫。
• 有參的Factory 方法
Objective 筆記C(第二天)