您的位置:首页 > 其它

简单的封装继承多态

2016-03-01 11:31 357 查看
首先创建一个工程, 然后创建一个动物类(Animal),然后再创建一个猫类和一个狗类,最后创建一个人类来给动物喂食。

动物类继承NSObject

而猫类和狗类继承动物类

人类喂食也继承NSObject

动物类

//类的声明

#import <Cocoa/Cocoa.h>

@interface Animal : NSObject
-(void)jiao;
-(void)eat;
@end

//类的实现
#import "Animal.h"

@implementation Animal
-(void)jiao
{
NSLog(@"叫");
}
-(void)eat
{
NSLog(@"吃");
}
@end


猫类

#import "Animal.h"

@interface Cat : Animal
-(void)jiao;
@end

#import "Cat.h"

@implementation Cat
-(void)jiao
{
NSLog(@"喵喵叫");
}
-(void)eat
{
NSLog(@"猫吃鱼");
}
@end


人类喂食

#import <Foundation/Foundation.h>
#import "Animal.h"
@interface Weishi : NSObject

-(void)feed:(Animal *) animal;
@end

#import "Weishi.h"

@implementation Weishi
-(void)feed:(Animal *)animal
{
[animal eat];
}
@end


最后在主函数里面实例化对象

#import <Foundation/Foundation.h>
#import "Animal.h"
#import "Cat.h"
#import "Dog.h"
#import "Weishi.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {

id test=[[Animal alloc]init];
[test jiao];

Animal *test1=[[Cat alloc]init];
[test1 jiao];

id test2=[[Dog  alloc]init];
[test2  eat];

id test3=[[Weishi alloc]init];
[test3 feed:test2];

}
return 0;
}


最后得到下面的。



当然这基本是最简单了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: