浅谈多态

什么是多态?
不同对象以自己的方式响应相同的消息的能力叫做多态
我对多态的理解,看以参考下面的代码
定义两个类
一个是FK,另一个是subclass,subclass继承与FK

import

import “Fk.h”

@implementation Fk
-(void)test{
NSLog(@”我是父类的test”);
}
-(void)base{
NSLog(@”我是父类的base”);
}

@end

import “Fk.h”

@interface subclass : Fk
-(void)cover;
@end

import “subclass.h”

@implementation subclass
-(void)test{
NSLog(@”我是子类的test”);
}
-(void)base{
NSLog(@”我是zi类的base”);
}
-(void)sub
{
NSLog(@”我是子类方法”);
}
-(void)cover
{
[super test];
}
@end

import

import “Fk.h”

import “subclass.h”

int main(int argc, const char * argv[]) {
/* @autoreleasepool {
// insert code here…
NSLog(@”Hello, World!”);
}*/
//多态
//Fk * a = [[subclass alloc]init];
/*
*:若a是父类(继承与NSObject),b是子类(继承于a),则用子类创建的对象一定是父类的实例,但是用父类创建的对象一定不是子类的实例,在多态的情况下,对象既是子类的,又是父类的
*/
subclass * a = [[subclass alloc]init];
NSLog(@”%d”,[a isKindOfClass:[Fk class]]);
NSLog(@”%d”,[a isKindOfClass:[subclass class]]);
NSLog(@”%d”,[a isKindOfClass:[NSObject class]]);
//不能调用,因为没有在接口部分声明
//[a sub];
[a test];
[a base];
//[a cover];

return 0;

}
——-李雪

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值