美文网首页
8.类和对象的关系

8.类和对象的关系

作者: Maserati丶 | 来源:发表于2019-01-05 17:07 被阅读0次

    课程来自慕课网Visitor.zc老师


    创建类的对象
    #import <Foundation/Foundation.h>
    #import "People.h"
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            // 实例化对象
            /*
             类名 对象名 = [[类名 方法名] 方法名];
             alloc - 为对象分配内存空间
             init  - 进行初始化操作
             */
            People *p1 = [[People alloc] init];
            People *p2 = [[People alloc] init];
            People *p3 = [People new];
            
            NSLog(@"p1 - %p",p1);  // p1 - 0x10181deb0
            NSLog(@"p2 - %p",p2);  // p2 - 0x10181e440
            NSLog(@"p3 - %p",p3);  // p3 - 0x10181dcc0
            return 0;
        }
    }
    
    属性和成员变量
    • main.m
    #import <Foundation/Foundation.h>
    #import "People.h"
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            // 实例化对象
            /*
             类名 对象名 = [[类名 方法名] 方法名];
             alloc - 为对象分配内存空间
             init  - 进行初始化操作
             */
            People *p1 = [[People alloc] init];
            People *p2 = [[People alloc] init];
            
            p1.name = @"张三";
            p2.name = @"李四";
            
            NSLog(@"p1.name -> %@",p1.name);  // p1.name -> 张三
            NSLog(@"p2.name -> %@",p2.name);  // p2.name -> 李四
            return 0;
        }
    }
    
    • People.h
    #import <Foundation/Foundation.h>
    
    NS_ASSUME_NONNULL_BEGIN
    // 类外使用属性,类内使用成员变量
    @interface People : NSObject
    
    // 属性为了让类外可以访问成员变量
    // 属性就是成员变量的外部接口
    @property(nonatomic,strong)NSString *name;
    @end
    
    NS_ASSUME_NONNULL_END
    
    • People.m
    #import "People.h"
    
    @implementation People
    {
        //声明成员变量
        // NSString *_name;  申明name属性时,系统会自动生成 _name 成员变量
        int _age;
        int _sex;
    }
    - (instancetype)init
    {
        self = [super init];
        if (self) {
            // 类内调用成员变量,属性是给类外使用的
            _name = @"张三";
        }
        return self;
    }
    @end
    

    相关文章

      网友评论

          本文标题:8.类和对象的关系

          本文链接:https://www.haomeiwen.com/subject/rucdrqtx.html