黑马程序员——OC中的封装、继承和多态

一.  封装:将实现细节进行隐藏,将属性私有化,通过公共的方法访问私有的属性,这个过程就是对对象的封装

好处:1.给数据进行了过滤,保证数据的正确性

    2.增加了代码的重用性

    3.将属性进行了私有化,可以保证属性的安全性

      重写:当子类当中有与父类同名(同名,同参,同返回值,同类型)的方法的时候,叫重写

  //当重写发生的时候,子类会直接调用本类当中的同名方法,父类当中的方法相当于被覆盖了,不会再发生调用。

  //重写作用:就是子类的同名方法当中想要实现一些属于本类的功能。

    注意:方法可以重写,但成员变量不可以重写命名,会造成重复命名。

二.     继承的定义:有两个类A类与B类,如果说A类继承了B类,就说A类拥有了B类的所有属性和方法。

     *继承者叫子类 被继承者叫父类(超类)

     *继承是单继承,只有一个直接的父类,一个父类可以有多个子类

     *优点:节省代码,提高效率,跳高代码的重用性,安全性,方法修改代码。

     *由于对象之间有了继承关系,才会有多态。

     *缺点:耦合性强(依赖性高)

     *场景:可以用谁是谁来表述,就可以使用继承。前面的继承后面的类

     比较:组合模式的使用:用谁拥有谁来表述,就使用组合,后面的属于前面的

     *NSObject是所有类的父类(基类),他没有父类。 

     *寻找方法路径:先在本类的方法列表中找要调用的方法,找到了,就直接使用,找不到就到父类中找,找到方法后,调用,找不到,继续向上找。一直找到NSObject,还没有找到,说明,没有这个方法     

     

 三.多态:

    定义:一种事物的多种形态

    前提:类与类之间要先有继承

    程序中的表述:父类的指针指向子类的对象,就叫多态

    动态绑定:在运行的阶段才会真正的识别对象的真正类型

    作用:增加方法的扩展性 

    注意:当让指向子类对象的父类指针,调用子类对象的私有方法的时候,要进行强制转化。


 四.补充:

     1》self

      self:在那个方法里面,self就代表什么

         *在对象方法里面,self代表对象

         *在类方法里面,self代表类

              注意:*self只能在方法里面使用

           *使用self调用方法的时候,要防止自己调用自己,造成死循环

      self可以调用其他的方法

       使用:可以通过self调用成员变量,在调用成员变量的时候,一定是在对象方法内部,self代表的是对象

       self可以通过->调用成员变量,在调用成员变量的时候,self一定代表对象,而且一定在对象方法里


猜你喜欢

转载自blog.csdn.net/yubingdian2011/article/details/40506811
今日推荐