1、oc对象的初始化
[[** alloc] init] 分2步,alloc是开辟内存,分配在堆区,这里java和C++都一样,init是进行初始化。
[** new]和[[** alloc] init]等效,习惯用前面的。
2、对象的初始化常用方法demo
FKCard.h
#ifndef KFCard_h
#define KFCard_h
@interface KFCard : NSObject
@property (nonatomic,copy) Nsstring *brand;
@property (nonatomic,copy) Nsstring *model;
@property (nonatomic,copy) Nsstring *color;
-(id)initWithBrand:(Nsstring *)brand model:(Nsstring *) mode;
-(id)initWithBrand:(Nsstring *)brand model:(Nsstring *) mode color:(Nsstring *)color;
-(void)show;
@end
#endif /* KFCard_h */
FKCard.m
#import <Foundation/Foundation.h>
#import "KFCard.h"
@implementation KFCard
-(void)show
{
NSLog(@"car brand is %@,and model is %@,and color is %@",self.brand,self.model,self.color);
}
-(id)init
{
if (self = [super init])
{
self.brand = @"aodi";
self.model = @"Q5";
self.color = @"yellow";
}
return self;
}
-(id)initWithBrand:(Nsstring *)brand model:(Nsstring *) mode
{
if (self = [super init])
{
self.brand = brand;
self.model = mode;
self.color = @"red";
}
return self;
}
-(id)initWithBrand:(Nsstring *)brand model:(Nsstring *) mode color:(Nsstring *)color
{
if (self = [self initWithBrand:brand model:mode])
{
self.color = color;
}
return self;
}
@end
main.m
#import "KFCard.h"
int main(int argc,char * argv[]) {
@autoreleasepool {
KFCard *car = [KFCard new];
[car show];
KFCard *car1 = [[KFCard alloc] initWithBrand:@"奔驰" model:@"S200"];
[car1 show];
KFCard *car2 = [[KFCard alloc] initWithBrand:@"奔驰" model:@"S200" color:@"black"];
[car2 show];
}
}
3、运行结果如下
car brand is aodi,and model is Q5,and color is yellow
car brand is 奔驰,and model is S200,and color is red
car brand is 奔驰,and color is black
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。