OC基础-03-三大特性

来源:互联网 发布:啊哈算法mobi 编辑:程序博客网 时间:2024/05/19 20:19

一、封装

       1、方法函数的封装:避免代码的重复、模块化,具体责任化

       2、成员变量的封装:避免赋值混乱、成员变量不要暴露给外面,不安全

       3、功能的封装(工具类)


set 方法:提供一个方法给外界设置成员变量

      1、以set开头 如:setAge

      2、返回值为void

      3、参数类型和成员变量的类型一样


get方法(经常与set方法一并使用)

      1、返回成员变量给外界

      2、返回值类型和成员变量一致

      3、方法名和成员变量名一样


成员变量命名:

     1、以下划线开头 如:int  _age;

     2、不能赋值

     3、对象不存在,成员变量就不存在


二、继承

    1、类之间的关系   A继承B,A就拥有了B所有东西

    2、A和B继承自父亲,相同的东西就放到父类里面(比如:车子、房子等)

    3、好处:避免代码重复,子类拥有父类的所有成员变量和方法、财产具体化,层次更清楚


注意:

    1、子类中不能有父类的成员变量

    2、子类可以有父类的方法(重写)优先自己

    3、isa(NSObject头文件里)和superClass指针(每个类里面都有)

    4、类方法也一样 不能乱用;要符合设计逻辑 一般使用对象属性(组合)


super:

    1、直接在当前类调用父类的方法

    2、可以调用类方法(取决于当前方法的环境是类方法还是对象方法)

    3、重写时在父类的方法基础上扩充一些功能


三、多态:一个事物的多种形态 (并不多说)


好处:父类作为函数参数,一个函数搞定一个功能