微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

IOS之学习笔记九(对象的初始化)

 

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] 举报,一经查实,本站将立刻删除。

相关推荐