你的位置:首页 > 操作系统

[操作系统]简单的封装继承多态


首先创建一个工程, 然后创建一个动物类(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;}

最后得到下面的。

 

 

当然这基本是最简单了。