Chapter8 Inheritance

It All Begins at the Root
父类中成员变量只有声明在@interface中才能被子类继承,如下图所示:


如果子类想去访问父类@implementation中的成员变量,就应该使用它们的存取器。
同样,父类的方法,包括实例方法和类方法,也能被子类继承。
Extension through Inheritance: Adding New Methods
self.width也可以写成[self width]。
myRect.origin.y可以写成[[myRect origin] y]。
The @class Directive
这是Objective-C里面特有的指令,其作用相当于C++中的前置声明式,意思就是说,你用了这个指令,就不用去包含你要用到的类的声明式所在的头文件了,它的作用是告诉编译器某个东西是个类而已。
其用法如下所示:

它比包含头文件的方式高效,因为后者必须要加载头文件,并且还要处理正各头文件。
如果你想使用类中的成员变量和成员方法,你还是要#import那个类所在的头文件。
OverridingMethods
与传统的C++不同,Objective-C允许在@implementation中给成员变量初始化,如下图所示:

子类覆盖父类的方法和C++是一样的,所以在这里闲话少叙。
AbstractClasses
Objective-C也是有抽象类的,它通常作为提供给外界的接口,这一点和C++很像。
不过关于Objective-C的详细介绍书中将在后面讲到。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 苹果官方文档翻译 《Objective-C语言编程》(Programming with Objective-C) ...
    fever105阅读 25,918评论 19 130
  • 这篇文章完全是基于南峰子老师博客的转载 这篇文章完全是基于南峰子老师博客的转载 这篇文章完全是基于南峰子老师博客的...
    西木阅读 30,649评论 33 466
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,217评论 30 472
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,779评论 18 399
  • 5月30日,张歆艺和袁弘大婚,在一座浪漫的古堡里,带着亲友们的祝福,他们走进了婚姻的殿堂,有很多人说,张歆艺配不上...
    一只自由的猫阅读 338评论 0 0