OC基础回顾(三)继承

  • OOP的两个重要方面:一是继承(inheritance),二是复合(composition)。
  • 继承:可以定义一个具有父类所有功能的新类,即它继承了父类的功能。
    复合:也就是在对象中引用其他的对象。对象引用其他对象时,可以利用其他对象的特性。

  • 某些编程语言(例如C++)具有多继承,也就是一个类可以直接从两个或多个类继承而来。但是,Objective-C不支持多继承。如果你尝试在Objective-C中使用多继承(多继承的形式类似于以下语句),是无法正常通过编译器审核的。
    @interface Circle : Nsobject , PrintableObject
    Objective-C可以通过类别(category)和协议(protocol)来达到多继承的效果

  • 重构
    重构,是移植和优化代码的方式,在OOP中是一个非常流行的主题。进行重构时,会通过移植某些代码来进行程序的架构(例如删除一些重复的代码,而不必改变代码的行为和运行结果)。通常开发周期包括向代码中添加某些特性,然后通过重构删除所有重复的代码。

  • 方法调度
    当向类的对象发送消息时,调度程序首先访问这个类中的代码能否响应消息。如果不能,就在超类中查找,如果超类中也没有,就向NSObject类中查找。如果最顶层的NSObject类中也没有找到该方法,则会出现一个运行时错误,同事还会出现一个编译时(compile-time)警告信息。

  • super关键字
    Objective-C提供了一种方法,让你既可以重写方法的实现,又能调用超类中的实现方法。
    应用场景:需要超类实现自身的功能,同时在之前或之后执行一些额外的工作。
    方法:使用super作为方法调用的目标。当向super发送消息时,实际上是在请求Objective-C向该类的超类发送消息。

  • 重写
    子类可以改变父类方法的实现。
    在重写方法时,调用超类的方法能够实现更多的功能(向super关键字发送消息)。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值