-C 学习笔记  类和对象

//
//  main.m
//  Project2_类和对象
//
//  Created by game912 on 2018/12/20.
//  Copyright © 2018年 john. All rights reserved.
//

#import <Foundation/Foundation.h>

//创建一个类 相当于 创建一个新的类型 ( eg.结构体)
// OC 中的类 必须要继承一个父类  C++ swift 都可以没有父类
// NS  是最基础的一个基类

// @interface  @end 这是一个类声明
@interface Person : NS 
{
    //int long _high;  这个是C语言特征 占用字节长度会根据 操作系统 32/64 变为变化
    NSInteger _high;   //在C语言之上封装。不用关系操作系统的变化
    NSUInteger _uhigh;
    
    char name[20];  //内存区域
    char* names;    //字符指针 字符串首地址
    
    NSString* _names;
    
    NSUInteger _age;
    CGFloat    _weught;
    
    
}
@end


//类的实现。你对现有类提供方法的实现
@implementation Person

//方法
@end


int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        NSLog(@\"Hello, World!\");
        
        //构建对象 两种方式
        //OC 的对象都是动态分配 不能进行静态分配, 也就是说 只能指针访问
        /*
         OC 调用方法的机制 本质是 消息机制    []
            [接受者        消息(方法)]
            [对象         对象方法]
            [类名         类型方法]
         */
        Person* p = [Person new]; //OC 中 [类名     类型方法]  动态分配 堆区域创建
        
        //p->_age = 18;
        
        //对象的释放   向对象发送 release
        //现在  ARC 自动关机内存 automic reference counting   释放掉 引用为0 的对象
        //之前  MRC 手动管理内存
        //[p release]; 项目关掉 ARC automic reference counting 为 NO
        
        
    }
    return 0;
}

 

类的声明

@interface Person : NS 
{
    
}
@end

类的实现

//类的实现。你对现有类提供方法的实现
@implementation Person

//方法
@end

经过声明和实现的类才能使用

 

收藏 打印