首先创建一个工程, 然后创建一个动物类(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;
}
最后得到下面的。
当然这基本是最简单了。