类和对象

1. 定义类 

1) 新建文件,自动生成.h .m两个文件

2) .h 接口部分

3) .m 实现部分

例子:Person类

Person.h文件

#import <Foundation/Foundation.h>// 接口 .h

@interface Person : NSObject// 父类: OC中, 所有类都有父类

// 声明特征(实例变量) 
{
    @public
    // NS: Next Step
    // 1. NSString 表示字符串, C char str[10]
    // 2. 实例变量前面必须加_
    // 3. NSInteger 表示整形
    NSString *_name;
    
    // 性别
    NSString *_sex;
    
    // 年龄
    NSInteger _age;
}

// 声明行为(方法) 
// 1. - 开头 加空格
// 2. ; 结尾
- (void)sayHello;

- (void)info;

@end
Person.m文件

#import "Person.h"// 实现 .m

@implementation Person

// 实现方法
// 1. 方法后面没有;
// 2. 输出:NSLog
// 3. @ OC 对C语言的扩展
- (void)sayHello
{
    NSLog(@"Hello");// 在C语言中用printf("hello");
}

- (void)info
{
    NSLog(@"姓名:%@, 性别:%@, 年龄:%lu", _name, _sex, _age);
}

@end


2. 创建对象、使用对象、实例化对象操作

2.1 创建对象

1) 导入.h文件 

2) 分配内存 

3) 初始化

main 中
#import <Foundation/Foundation.h>
// 导入.h文件
#import "Person.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {

     // 1. alloc 系统提供的方法, 作用: 分配内存
     // 2. 指针表示是对象的首地址, OC中, 用指针代指对象
     // 3. init 系统提供的方法, 作用: 初始化
     // 4. 分配内存和初始化连写
     Person *person1 = [Person alloc];
     person1 = [person1 init];

     // 连写
     // Person *person1 = [[Person alloc] init];

打印结果:

Hello


2.3 实例化对象操作

main 中

     // 实例对象的赋值 -> 
     person1 -> _name = @"Tom";
     person1 -> _age = 20;
     person1 -> _sex = @"男";
     [person1 info];
        
     // 实例对象的取值
     NSLog(@"姓名:%@", person1 -> _name);
      
    }
    return 0;
}

打印结果:

姓名:Tom,性别:,年龄:20

姓名:Tom






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值