要求使每個新建立出來的物件都有乙個自定義的預設值
實現-(instancetype)initwith***:(int)age;
思考&實現:建立乙個學生類student,通過重寫構造方法實現建立學生物件的時候,預設的年齡的值為指定的年齡
student.h
#import
@inte***ce
student : nsobject
@property (nonatomic, assign)int age;
-(instancetype) initwithage:(int)age;
+(instancetype)studentagewith:(int)age;
@end
student.m
import "student.h"
@implementation
student
-(void)dealloc
//自定義構造方法
-(instancetype) initwithage:(int)age
return
self;
}//自定義初始化方法
+(instancetype)studentagewith:(int)age
@end
main.m
#import
#import "student.h"
int main(int argc, const
char * argv)
reutrn 0;
}
student.h
#import
@inte***ce
student : nsobject
@property (nonatomic, assign)int age;
@end
student.m
import "student.h"
@implementation
student
-(instancetype)init
return
self;
}@end
重寫父類方法的兩種實現方式
如果想重寫乙個類的方法,既可以通過繼承該類 在這裡就不多少了 還可以通過類別 類的擴充套件catologe 方法 比如重寫uialertview 的 layoutsubviews 這樣類擴充套件是可以的 但是,這樣會導致在同乙個類裡面用到的所有uialertview 都會重寫這樣的方法 導 inte...
RMQ的兩種實現方法
st表實現rmq rmq演算法 range minimum maximum query 是求區間極值的高效演算法,依據所需實現的不同效能可以有多種寫法,這裡主要講基於線段樹和稀疏表 sparse table 的兩種方法 線段樹是維護區間的一類高效資料結構,依據這個特性,我們可以用線段樹實現rmq演算...
C 兩種構造方法的效率對比
c 中類的建構函式寫法有兩種,一種是使用初始化列表,一種是在 塊中賦值。很多書中 包括c primer c primer plus等等 都會提到應該盡量使用初始化列表而不是在 塊中賦值,因為使用初始化列表通常比在 塊中賦值效率要高。但是這個結論是怎麼來的?如何驗證呢?今天我們來設計乙個小例子對比一下...