OC学完总结(2015.7.21更新类的扩展)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weilaizhuan/article/details/46944849

一、类

1.类:具有相同特性和行为的事物的抽象(对象是类的实例,类是对象的类型)

       1)对象:是指一个类的指针(实例)变量

       2)实例变量:已经初始化过后的对象

注:成员变量属于实例变量的一部分,所有的指针变量都是实例变量

2.在开发中,先定义类,再创建对象,然后使用对象。

3.定义类时包含两部分:接口部分和实现部分

       1)接口部分:对外声明类的特性和行为(声明类的实例变量和方法)

      包含:类名、父类名、实例变量和方法

      方法包括返回值、方法名和形参(在方法里就是条件)

       2)实现部分:对内实现行为(内部的具体实现)

4.方法包括类方法和实例化方法

       1)类方法:“+”号方法,由类来调用

       2)实例化方法:“-”号方法,由对象来调用

5.调用方法的步骤:

       1)先看这个方法属于哪一个类的

       2)看方法是什么类型的(实例化方法、类方法)

       3)看返回值类型

6.成员变量的四种可见度:@public、@protected、@private、@package

       1)@public:公共的,即实例变量在类的外部和内部均可以使用

       2)@protected:受保护的,即实例变量只能在类的内部及其子类使用

       3)@private:私有的,即实例变量只能在类的内部使用(子类不允许使用)

       4)@package:包可见,即实例变量只在库内部使用,外部开发者调用无效

7.类的扩展方式:类目、延展、协议和继承

       1)类目:用于分类使用,将一个类的不同功能的方法进行不同的分类,并给一个类进行扩展,添加方法和属性

       2)延展:主要是给类添加私有变量和私有方法

       3)协议:一堆公共方法的集合(公共方法名的集合,只有.h),可以解决多继承,协议中方法在那个类里实现,那么方法就属于哪一个类

注:1)类目中不能写成员变量,可以写属性,但是实现麻烦,一般类目中创建方法

       2)类目中没有继承关系

二、OC三大特性

1.oc的三大特性:继承、封装和多态

2.继承

       1)子类可以继承父类的所有东西,所以不能用@class必须用import

       2)子类如果继承父类,那么在子类的初始化方法中必须调用父类的初始化方法,如果初始化方法不同,子类必须声明

猜你喜欢

转载自blog.csdn.net/weilaizhuan/article/details/46944849