国产探花免费观看_亚洲丰满少妇自慰呻吟_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)
 
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 正宁县| 得荣县| 巴楚县| 胶南市| 仲巴县| 平武县| 东莞市| 萨迦县| 三河市| 高安市| 宜昌市| 东城区| 乌兰浩特市| 兴义市| 永平县| 松滋市| 正镶白旗| 新疆| 六枝特区| 万宁市| 绥阳县| 兴城市| 息烽县| 合作市| 奈曼旗| 金华市| 汉源县| 白朗县| 洞口县| 五指山市| 怀集县| 牟定县| 琼中| 荃湾区| 页游| 南江县| 马龙县| 泸溪县| 昌黎县| 招远市| 屏南县|