美文网首页
OC 1.类和对

OC 1.类和对

作者: 前进的苏辰 | 来源:发表于2016-08-05 21:21 被阅读0次

(1).#import <Foundation/Foundation.h>

1.类:分为类的声明和类的实现两个部分

//类的声明 @interface就是OC中声明一个类的关键字

struct Person {
//成员变量
char name[20];
int age;
int face;
};

//类的声明是一个固定的结构
//@interface 类型: 父类名(NSObject) {} @end
//声明一个YTPerson类,它有三个成员变量
@interface YTPerson : NSObject{
//NSObject是OC中所有类直接或者间接的父类,也是OC中所有类的根类
//这里用来声明成员变量(属性、字段)
char name[20];
int age;
int face;
}
//这里用来对处理数据的方法的封装(成员方法) 函数 == 方法 == 消息
//声明成员方法,成员方法的个数不定
//void func(void); 这个就是成员方法
//- 代表这个方法是对象方法,调用的时候需要使用类的对象来调用
//+ 代表这个方法是类方法
//OC中方法的返回值类型需要使用()括起来
//在没有参数时函数名后边的括号省略(必须省略)

  • (void)func; //这个是OC最简单的方法(没有参数没有返回值)
    @end

//类的实现

//@implementation 类实现的关键字
//固定格式 @implementation 类名 @end
@implementation YTPerson

//这儿写成员方法的实现
//OC方法的实现和C语言一样
-(void)func{
//函数体(函数功能的实现),在main函数里面写的东西,在这儿都可以实现
//在这儿可以使用类的成员变量
age = 20;
printf("%d\n",age);
}

@end

//主函数开始的地方

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

    struct Person person1; //创建一个结构体变量,person1在栈上
    
    //OC中使用类创建一个对象,都是在堆上开辟空间来存储数据的
    //在C语言中使用malloc函数在堆上开辟空间存储数据

    char * p = malloc(400); //会在堆上开辟400个字节的内存空间,返回的这400字节的首地址存到指针变量p中
    
    //[]是OC中用来调用函数的语法
    //YTPerson 来调用alloc方法,是alloc可以在堆上开辟YTPerson这麽大的内存空间
    //person2实质是指向对象(YTPerson这个类定义的变量)的指针,但是我们一般情况下说person2是一个对象
    
    YTPerson * person2 = [YTPerson alloc]; //使用OC中alloc方法在堆上开辟空间存储数据,返回的是一个指向对象的指针
    
    //改变一个结构体变量的成员变量的方式
    struct Person * person3 = &person1;
    person1.age = 20;
    person3 -> age = 22;
    
    //OC类创建的对象中在外部函数(main)不能直接使用成员变量
    //内部函数->成员函数(方法)     间接使用
    //        person2 -> age = 18;
    
    //OC中成员方法的调用使用[]来调用
    [person2 func];
}
return 0;

}

相关文章

  • OC 1.类和对

    (1).#import 1.类:分为类的声明和类的实现两个部分...

  • OC&iOS

    OC语言基础 1.类与对象 类方法 OC的类方法只有2种:静态方法和实例方法两种 在OC中,只要方法声明在@int...

  • iOS相关 | oc中深拷贝和浅拷贝,copy和strong

    oc中对象的拷贝分为浅拷贝和深拷贝,又分为容器类对象和非容器类对象 1.对非容器类对象(如NSString、NSM...

  • From Objective-C to Ruby(4)-类和模块

    类 定义类 OC: ruby: 初始化方法 OC: ruby: 实例变量和属性 OC: ruby: 类方法和对象方...

  • OC Swift文件混编

    一.Swift 类可以继承 OC 类,OC 类不能继承 Swift 类。 二.Swift 和 OC 混编 三.两个...

  • OC中对象的分类及其存储数据

    OC中对象的分类: 1.实例对象:instance object;2.类对象:class object;3.元类对...

  • swift和OC对比

    swift和OC对比: 1.转模型时,swift经常用struct,而OC中用类,为什么? swift用struc...

  • 壹、面试复习之OC篇(一)

    壹、面试复习之OC篇(二) 一、OC部分 1.成员变量修饰符 @public 公有 在类内和类外都可以被使用,且...

  • Swift Day18 OC 和 Swift 混编

    1. Swift调用OC代码 创建OC下的 LSPerson 类 首次创建OC代码时,会自动创建 OC-Bridg...

  • Swift与OC的混编

    1.在OC工程中加入Swift文件,此时系统会自动创建一个桥接文件。 2.OC类中引用Swift类 切记:在OC的...

网友评论

      本文标题: OC 1.类和对

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