Objective-C语法基础

注:编译器版本 XCode 15.4
在这里插入图片描述

  • 新建一个XCode项目
    在这里插入图片描述
  • 新建一个类

在这里插入图片描述

1、成员变量、属性

1.1、类内使用成员变量,类外使用属性

Role.h

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface Role : NSObject
{
   
   
    //成员变量:只能类内使用
    NSString *_name;
    int _age;
}


//属性:类外可使用
//属性就是内部成员变量的外部接口
@property (nonatomic, strong) NSString *name;

//属性也相当于 get/set 方法
-(void)setAge:(int)age;
-(int)getAge;

-(void)display;

@end

NS_ASSUME_NONNULL_END

Role.m

#import "Role.h"

@implementation Role


//绑定属性和成员变量
//推荐使用成原变量与属性不同命的方式,成员变量前面加_,属性不加
@synthesize name = _name;


//构造方法
- (instancetype)init
{
   
   
    self = [super init];
    if (self) {
   
   
        //类内调用的都是成员变量
        _name = @"";
        _age = 0;
    }
    return self;
}



-(void)setAge:(int)age{
   
   
    _age = age;
}

-(int)getAge{
   
   
    return _age;
}


-(void)display{
   
   
    NSLog(@"角色名称: %@    角色年龄: %d", _name, _age);
}


@end

main.m

#import <Foundation/Foundation.h>
#import "Role.h"

int main(int argc, const char * argv[]) {
   
   
    @autoreleasepool {
   
   
        
        
        //实例化对象(* 代表指针)
        //[类名 方法名]
        //[对象名 方法名]
        //alloc:为对象分配内存空间
        //init:初始化操
        Role *r1 = [[Role alloc]init];
        [r1 display]; //角色名称:     角色年龄: 0
        
        
        [r1 setName:@"琦玉"];
        [r1 setAge:20];
        [r1 display];  //角色名称: 琦玉    角色年龄: 20
        
        //属性可以直接当做get/set用
        r1.name = @"杰诺斯";
        NSLog(@"角色名称: %@", r1.name);  //角色名称: 杰诺斯
    }
    return 0;
}

1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KillerNoBlood

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值