文档章节

继承,多态与复合

W
 W_JJ
发布于 2015/10/13 18:10
字数 401
阅读 8
收藏 0

今天复习一下继承,并进行一下多态。

首先,我们回顾一下继承与多态。

继承是需要一个父类和至少一个子类,有子类去继承父类的属性和方法,但是父类不可以调用子类的方法。

多态父类的指针指向子类的对象,就需要把参数的类型由子类的指针类型改成父类指针类型。

但是注意的是,在使用多态时,是建立于继承之上的。还有,子类在继承父类时,在子类的.h文件中要引用父类的文件,在main.m文件中,要引用子类和父类的头文件。

例如:

            

其次对于复合,只能总结出一点点,具体我会用一个实例做介绍。

复合,我可以去简易的理解为一座房子,建房子所要的东西综合起来就成为一座房子,这就是复合。下面我以一个例子解释复合。

建立四个类,Home,Floo,Door,Window

在Home.h文件中写出如图,



特别注意的是头文件的引用和编写参数名的地方。

然后就是 其他类的方法(我只举一个

在Home.m文件中加入这样的一个方法,

-(void) setHouse

{

    NSLog(@"This is a Houseit have %@ windows,%@ floors and %@ doors",[_window sWindw],[_floor sFloor],[_door sDoor]);

}

最后就是mai.h

在最后.m文件中,值得注意的是“[ ]”中的内容。

在学习复合中,我个人认为主要理清各个类的关系,每个参数名的引用。

© 著作权归作者所有

共有 人打赏支持
W
粉丝 0
博文 6
码字总数 5272
作品 0
榆林
【非凡程序员】 OC第四节课 (复合和多态)

1.复合:是将各个部分组合在一起。程序设计中就是用已有类的对象来产生新的类。 编程中的复合就是将多个组件组合在一起,配合使用,从而得到完整的作品。 发动机是汽车的组成部分 -> 复合 飞...

七月流火zsp
2015/05/17
0
0
面向对象的三个基本特征

面向对象的三个基本特征(讲解) 面向对象的三个基本特征是:封装、继承、多态。 封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成...

笨拙的小Q
2016/07/07
24
0
面向对象的三个基本特征(讲解)

面向对象的三个基本特征(讲解) 面向对象的三个基本特征是:封装、继承、多态。 封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成...

小磨磨牙
2010/11/08
0
0
面向对象的三个基本特征是:封装、继承、多态

封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进...

gavin_jin
2012/03/02
0
3
面向对象的三个基本特征 和 五种设计原则

一、三个基本特征 面向对象的三个基本特征是:封装、继承、多态。 封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,并且...

NickHomeSelf
2016/08/18
23
0

没有更多内容

加载失败,请刷新页面

加载更多

ajax 提交返回map集合 获取不到值

后台java代码 @RequestMapping("/cameraList") @ResponseBody public Map<String, Object> cameraListForPage(@RequestParam(defaultValue = "1", value = "page") Integer page......

S三少S
7分钟前
0
0
TypeScrip最污的技术课-技术胖TypeScript图文视频教程

近日Node.js之父瑞安达尔(Ryan Dahl)发布新的开源项目 deno,从官方介绍来看,可以认为它是下一代 Node,使用 rust 语言代替 C++ 重新编写跨平台底层内核驱动,上层仍然使用 V8 引擎,最终...

JamesView
9分钟前
5
0
Es学习笔记

1.过滤排重聚合查询 筛选出某一个聚合值的个数统计。相当于mysql的distinct. 关键字:cardinality "aggs": { "2":{ "cardinality": { "field": "field" } ...

Gmupload
11分钟前
0
0
h5语义化标签

语义化HTML:用最恰当的HTML元素标签做恰当的事情。 优点: 提升可访问性; SEO; 结构清晰,利于维护; 通用容器:div——块级通用容器;span——短语内容无语义容器。 <title></title>:简...

莫西摩西
17分钟前
0
0
修改11g rac中 asm diskstring的发现路径

问题 : 如果我 们asm_disking以前是/dev/oracleasm/disks/* ,并且现在已经有磁盘组再用这个磁盘串了,那么,我们无法直接修改这个发现串为 ORCL:*,修改会报错,提示存在的磁盘无法使用新的...

tututu_jiang
20分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部