美文网首页
OC学习笔记

OC学习笔记

作者: 库酷 | 来源:发表于2016-03-01 19:16 被阅读0次

    1、什么是面向对象。

    类是抽象的,不具体的。就像有些东西可以归为一类,比如说狗,猫,猪。它们都是动物,我们就可以归为一类。而猫,狗就是动物类中的一个对象。

    2、什么是类;

    把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。

    3、如何定义一个类;

    声明类的目的,告诉系统类所有包含的属性和方法。

    4、类中可以定义两种方法;

    (1)、“-” 号方法 独享方法:

        a、可以直接访问对象的属性

        b、必须使用对象调用

        c、可以直接调用其他的对象方法

    (2)、+号方法 类方法

        不可直接访问对象属性

        必须使用类调用

       不可以直接调用对象方法

    5、封装;

    setter方法

    (1)、一定是独享方法

    (2)、一定没有返回值

    (3)、方法名一定是以set开头后面跟上名称去掉下划线首字母大写

    (4)、有参数类型与属性相同

    getter方法

    (1)、一定是对象方法

    (2)、一定没有返回值

    (3)、方法名是属性名去掉下划线 没有参数

    注意:

    (1)如果某一属性只提供getter方法没有提供setter方法我们称之为只读属性反之称为只写属性,setter、getter方法都有称为可读可写属性

    (2)、setter方法另外一个好处就是可以监听属性的变化

    点语法;提供setter、getter方法后访问属性可以用点语法方式访问属性。

    点语法的注意点:用于给成员变量赋值,如果不是给成员变量赋值不建议用点语法

    6、self关键字

    self不能离开类;

    (回顾枚举的创建)typedef  enum {   }

    self相当于类方法中的类,但是 self不只能调用类方法,也可以调用对象方法;如果self在对象方法中就代表self相当于调用当前的那个对象,如果self在类方法中,那么代表调用当前类方法的那个类

    总结:只要关注self在哪一种方法中;如果在类方法中就代表当前类;如果在对象方法中就代表当前调用该方法的对象。

    注意:self会自动区分类方法和对象方法,如果在类方法中用self调用对象方法会报错:如、

    +(void)corfomeWith

    {

    [self closeFlshlight ];

    }

    +(void)closeFlshlight

    {

    [self openFlshlight ]

    }         会报错。

    self使用场景:

    可以用于在对象方法之间相互调用;

    可以用于区分成员变量与局部变量同名的情况

    相关文章

      网友评论

          本文标题:OC学习笔记

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