OC_继承与多态

 继承、多态

============================================

学习目标

1、继承

2、多态

 

需要理解的知识

     面向对象的三个基本特征:   1、封装   2、继承    3、多态

 

============================================= 1、继承

1.1 生活中的继承

 

         父类     子类

         父亲       儿子

人类 学生

          学生     中学生        

      

(1)把继承又叫做派生

父类的属性(成员变量(不包括私有))和方法,子类可以直接获取,这个过程就叫做继承

子类在父类的基础上,创建了自己独有的成员变量和方法,这个过程就叫做派生。

继承和派生其实是说的继承概念的不同的侧重点。

 

 

         (2)提示:每个类中都有一个super class指针,该指针指向自己的父类。

 

         【注】 OC只支持单继承

 

       继承的好处:

  1)创建大量的相似类的时候,可以节省工作量。抽取出了重复的代码

  2)使用框架中的类,或已经写好的类,继承该类,生成一个派生类,比原类更好用。

       3)建立了类和类之间的联系

 

      继承的缺点:

            耦合性太强

 

 

  1.2 代码中的继承

      <1>继承的基本语法

 

      (1)继承的写法

                              @interface 子类名:父类名

                @end

 

 

      (2)方法的继承

              子类可以使用父类的所有方法  

             

                             

                    (3)字段的继承

               子类可以访问父类非私有的成员变量

                              

1.3 继承在内存中的体现

子类继承父类之后。 子类对象的构成:

1) 父类所有的字段和方法

2) 子类自己独有的字段和方法

 

 

 

【继承的作用】

1、快速创建多个形似的类

2、对类进行扩展

3、自定义一些系统的一些功能控件(UI里面用的比较多)

 

 

 

       1.4 关键字super

        很多时候,子类的方法只需要在父类的同名方法中增补些内容。可以通过关键字【supper】调用父类的方法,再增添子类独有的内容。

 

  

       作用:

       (1)直接调用父类中的某一个方法

       (2)Super处在对象方法中,那么就会调用父类的对象方法;super处于类方法中,那么就会调用父类的类方法。

 

          使用场景:子类在重写父类方法时,想要保留父类的一些行为。

 

 

         1.5 继承和组合

       继承的适用场合:

        (1)当两个类拥有相同的属性和方法时,就可以将相同的属性和方法抽取到一个父类中。

       (2)当A类完全拥有B类中的部分属性和方法时,可以考虑让B类继承A类,在这种情况下,也可以考虑使用组合。

继承:###是xxx,如狗是动物,可以让狗继承动物类

组合###拥有xxx,如学生有书,可以让书这个类作为学生类的属性

转载于:https://www.cnblogs.com/yuhanchen/p/5243391.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值