Objective-C构造方法

本文探讨了Objective-C中构造方法的重要角色,包括带参和无参构造方法的使用。带参构造方法允许在创建对象时传入参数,如`-(instancetype)initWith...`,而无参构造方法如`init`,常用于初始化基本对象状态。这些方法在实例化NSObject及其子类时被自动调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

构造方法在创建(实例化)对象的时候,自动调用的方法

带参构造方法

-(instancetype)initWith...

#import <Foundation/Foundation.h>

@interface Person : NSObject{
    NSString* _name;
    NSInteger _age;
}
//init方法是系统自带的,实现在NSObject类里
//自定义的构造方法需要显示申明
- (instancetype)initWithName:(NSString*)name;
- (instancetype)initWithName:(NSString*)name age:(NSInteger)age;
-(void)showMessage;
@end

@implementation Person
-(instancetype)init{
//self是一个指针 它表示当前调用该方法的对象本身
//super 用来调用父类方法的关键字
    self = [super init];
    if(self){
        NSLog(@"系统自带的构造方法");
        _name = @"no name";
        _age = 0;
    }
    return self;
}
//自定义的需要显示申明
- (instancetype)initWithName:(NSString*)name{
    self = [super init];
    if(self){
        NSLog(@"调用自定义的构造函数");
        _name = name;
    }
    return self;
}
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age{
    self = [super init];
    if(self){
        _name = name;
        _age = age;
    }
    return  self;
}
- (void)showMessage{
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值