美文网首页iOS基础·OC高级篇iOS OC 学习手册
一、Object-C 对象、消息和类的定义

一、Object-C 对象、消息和类的定义

作者: Yink_Liu | 来源:发表于2018-07-06 21:00 被阅读27次

    Objective-C学习索引

    一、对象和消息

    1、[object selector] [对象 消息选择器]
    2、消息后的参数格式:关键字:参数 整体格式: 消息选择器:变量1 关键字:变量2
    e.g:- (void)studyFrome:(NSInteger *)frome to:(NSInteger *)to;
    3、关键字可省略 e.g 消息选择器:变量1:变量2
    4、alloc生成类的对象,init初始化 e.g: [[object alloc] init]

    二、类

    一个类由Student.h 和 Student.m组成,.h就是类的接口定义,.m就是类的实现,m模块的意思

    2.1类的接口声明

    格式:

    @interface Student : NSObject{//类名:父类名
        //实例变量定义
        int _age;
    }
    // 属性定义
    @property static int weight;
    //方法声明
    - showClassName2;
    - (id)showClassName;
    - (void)studyFrome:(NSInteger *)frome to:(NSInteger *)to;
    
    @end
    

    1、类OC编译指令以@字符开头,目的和C区分开
    2、interface类的声明开始,end结束
    3、实例变量格式:变量类型 变量名
    4、方法声明:这里只是定义了方法,具体的实现在.m文件里做。showClassName2和showClassName,id可以省略,默认返回id类型。(id类型可以存放任何数据类型的对象)
    5、@property这种定义可以直接访问变量的setter/getter方法或者s.weight.weight访问实际上调用的就是setter/getter方法,上面的_age则不能,必须自己去写setter/getter方法才能调用。

    2.2 类的实现

    格式:

    @implementation Student //类名
        // 方法的定义
    - (id)showClassName{
        return self.className;
    }
    @end
    

    1、以implementation开始,ent结束
    2、.m文件可以随意使用.h中定义的变量。
    3、.h中有的方法,这里可以实现,也可以定义一些.h中没有的方法。
    4、.h中有定义的方法为公开的方法。
    5、self是实例对象本身。

    三、代码风格

    1、静态变量
    在函数内或类方法外指定了static的变量。生命周期为程序开始到结束。
    OC中无论生成了多少个对象,都只有一个静态变量的存在。
    e.g:

    Student * s = [[Student alloc] init];
    Student * s1 = [[Student alloc] init];
    s.weight = 18;
    S1.weight = 20;
    NSlgo(@“s.weight:%d s1.weight:%d”,s.weight,S1.weight);
    

    打印出来都是20
    2、头文件

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

    import头文件引入,系统自动识别不会重复引用。
    <>优先查找系统库,再查找本地。
    “”只查找本地。

    相关文章

      网友评论

        本文标题:一、Object-C 对象、消息和类的定义

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