文档章节

继承,多态与复合

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

没有更多内容

加载失败,请刷新页面

加载更多

前嗅ForeSpider教程:采集黄页88

以黄页88为例,采集当前列表页新闻的正文数据: 第一步:新建任务 ①点击左上角“加号”新建任务,如图1: 【图1】 ②在弹窗里填写采集地址,任务名称,如图2: 【图2】 ③点击下一步,选择进...

forespider
15分钟前
1
0
Spring Cloud Alibaba基础教程:Nacos 生产级版本 0.8.0

昨晚Nacos社区发布了第一个生产级版本:0.8.0。由于该版本除了Bug修复之外,还提供了几个生产管理非常重要的特性,所以觉得还是有必要写一篇讲讲这次升级,在后续的文章中也都将以0.8.0版本为...

程序猿DD
23分钟前
1
0
HTML+CSS实现div的高度自适应填满剩余空间的7种方法

如图上下两部分,上面部分适应内容的高度,下面部分填充剩余部分。 当下面内容不够时,在下面部分出现滚动条 有2种情况 1.上面内容的高度适应内容,只有2种方法(flex、quirks+table) 2.上面...

linsk1998
26分钟前
1
0
Oracle学习日志-8(查询结果排序)

要用到的表如下 书上写到,上面的查询结果排序是随机的,再执行几次结果可能不同,但是我执行多次后,查询结果的排序都是如此,是因为oracle的默认处理方式是按照物理储存顺序查询的,而我在...

白话
33分钟前
1
0
Data truncation: Incorrect datetime value: '0000-00-00 00:00:00' for column xxx

1. 错误提示 Data truncation: Incorrect datetime value: '0000-00-00 00:00:00' for column xxx 2. 问题分析 从上面的描述我们可以看出原因是:我们给类型是datetime的xxx字段赋值0000-00......

易冥天
35分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部