OC学习笔记

2016-03-01  本文已影响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使用场景:

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

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

上一篇下一篇

猜你喜欢

热点阅读