国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

類的本質

2019-11-14 19:11:21
字體:
來源:轉載
供稿:網友
 
類本身也是一個對象,是個Class類型的對象,簡稱類對象
Person *p?。健[Person alloc] init];
Person *p1 = [[Person alloc] init];
//獲取內存中的類對象
Class c = [p class];
Class c1 = [p1 class];
c==c1
 
//獲取內存中的類對象
Class c2 = [Person class];
c==c1==c2
Person * p = [c2 new]
//默認情況下,利用NSLog和%@輸出對象時,結果是:<類名:內存地址 >
//1,會調用對象p的-description方法
//2,拿到-description方法的返回值(NSString *)顯示到屏幕上
//3,-description方法默認返回的是“類名+內存地址”
NSLog(@"%@",p);
想輸出對象的詳細信息,只有在該對象實現中重寫-description方法(java中是toString方法)
-(NSString *)description//決定實例對象的輸出結果
{
   return [NSString stringWithFormat:@"age=%d,name=%@",_age,_name];
}
+(NSString *)description//決定類對象的輸出結果,如果不重寫,默認輸出時該類對象的類名
{
   return @“abc”;
}
 
//當程序啟動的時候,就會加載一次項目中所有的類,類加載完畢后就會調用+load方法(先調用類的load方法,最后才調用分類的load方法)
+(void)load
{
}
//當第一次使用這個類的時候,就會調用一次+initialize方法
+(void) initialize
{
 
}
分類中也可以由load和initialize方法,load方法加載完畢后被調用,如果類和分類中都有initialize方法,
那么第一次使用這個類的時候就會調用分類中的initialize方法,分類中沒有才會調用類中的+initialize
 
1,當程序啟動時,就會加載項目中所有的類和分類,而且記載后會調用沒各類和分類的+load方法。只會調用一次
2,當第一次使用某個類時,就會調用當前類的+initialize方法()
3,先加載父類,再加載子類(先調用父類的+load方法,再調用子類的+load方法)
先初始化父類,再初始化子類(先調用父類的+initialize方法,再調用子類的+initialize)
 
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安庆市| 驻马店市| 扬中市| 定兴县| 峡江县| 河津市| 天柱县| 屏边| 龙游县| 麻城市| 汽车| 通州区| 大兴区| 延川县| 芮城县| 新疆| 桐庐县| 都昌县| 漳平市| 温州市| 北海市| 阿尔山市| 运城市| 徐水县| 墨江| 和田县| 广灵县| 庆元县| 阳春市| 始兴县| 加查县| 山西省| 武清区| 平罗县| 田阳县| 奇台县| 满洲里市| 调兵山市| 浏阳市| 龙口市| 扬州市|