2 xh410117 xh410117 于 2016.04.05 17:25 提问

Objective-C多态的问题
 //这是第一个.h文件
 #import <Foundation/Foundation.h>
@interface Printer : NSObject
- (void)print;
@end

//这是第二个.h文件
#import <Foundation/Foundation.h>
#import "Printer.h"
@interface Person : NSObject
- (void)doPrint:(Printer *)printer;
@end

代码如上,这里的Person是否为Printer的子类?
我觉得应该不是子类,只是都继承与NSObject而已啊,
那为啥不是子类,在Person的方法里可以传入Printer *这个对象呢?求指点一下啊,这个Person和Printer到底是个什么关系

2个回答

CSDNXIAOD
CSDNXIAOD   2016.04.05 17:32

C++中的多态和Objective-C中的“多态”
Objective-c的多态
Objective-C多态
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

tomb2015mosiyu
tomb2015mosiyu   2016.05.16 17:33

这两个类不存在父类与子类的关系,都继承于NSObject。
至于Person类里面用到Printer,是因为你在Person里#import "Printer.h"。就好像你在Person里,Person不是NSString子类,你也可以使用NSString

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Objective-C----多态
优点: 父类指针可以指向不同的子类对象 ; 允许在多个类中定义同一个消息接口 ;、 可以屏蔽不同子类对象之间的差异,写出通用代码 ; 适应需求的不断变化 。
Objective-c:封装、继承与多态
面向对象的三个基本特征是:封装、继承、多态。封装简介 封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被成为抽象数据类型。 封装的意义在于保护和防止代码(数据)被我们无意中破坏。在面向对象程序设计中,数据被看作是一个中心的元素并且和使用它的函数结合得很密切,从而保护它不被其他的函数意外地修改。 封装提供了一个有效的途径来保护数据不被意外
Objective-C - 多态的经典实例
多态的经典实例/* 多态 1.没有继承就没有多态 2.代码的体现:父类类型的指针指向子类对象 3.好处:如果函数\方法参数中使用的是父类类型,可以传入父类、子类对象 4.局限性: 1> 父类类型的变量 不能 直接调用子类特有的方法。必须强转为子类类型变量后,才能直接调用子类特有的方法 */// 动物 @interface Animal : NSObject - (void)eat; @
Objective-C语法之继承、封装、多态
继承 封装 多态  1.1继承 编写面向对象的程序时,你所创建的类和对象之间存在一定的关系。他们协同工作才能实现程序相应的功能。创建一个新类时,通常需要定义新类以区别与其他类及现有类。使用继承可以定义一个具有父类所有功能的新类,它继承了父类的这些功能。 继承是面向对象的一个核心概念。在Objective-C的继承体系中,位于最顶层的根类是NSObject我们定义的所有类都是它的子类。子类也叫扩
重拾Objective-C中的多态分析以及重写和重载的区别
什么是多态?面向对象语言的三大特性,继承,封装和多态。其中封装和继承很容易理解,那么继承和多态就是相辅相成的两个特性。什么是多态?就是面向对象语言中同一个接口可以有不同的实现方式,OC中的多态是不同对象对同一消息的不同响应方式,子类通过重写父类的方法来改变同一方法的实现,体现多态性。另外我们知道C++中的多态主要是通过virtual关键字(虚函数、抽象类等)来实现,具体来说指的是允许父类的指针指向...
从零开始学Objective-C——套餐
本套餐是由智捷课堂推出的《从零开始学Objective-C》视频课程合集,本课程包括了:C语言基础、第一个Objective-C程序、Objective-C面向对象特性、继承、多态、类别、扩展、协议、块、继承、多态、Objective-C内存管理和Objective-C编码规范等概念。
Objective-C - 封装、继承、多态综合实例
设计2个类,类之间的关系自拟(比如继承、组合)/* 1.设计2个类,类之间的关系自拟(比如继承、组合) 1> 车 (1)属性 * 轮子数 * 速度 (2)方法 * 属性相应的set和get方法 2> 客车 (1)属性 * 轮子数 * 速度 * 座位数 (2)方法 * 属性相应的set和get方法 */// 客车 是一种 车,因此用继承关系#import <Foundation/
继承和多态中常见的问题(一)
继承和多态中常见的问题(一) 一、继承:代码的复用。 继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。这样做,也达到了重用代码功能和提高执行时间的效果。 1、继承的方式:由于C++中有三种访问限定符,public,private,protected.因此在类与类的继承中也将有这三种方式。继承方式如图: 面试题1.private和protected两
Objective-C 快速入门教程
本文主要介绍Objective-C的基本语法,传统的面向对象语言的封装,继承以及多态在Objective-C上会是什么样子。
Objective-C入门指南
Objective-C 入门指南 继承 多态 内存管理 foundation framework