首页 > 代码库 > OC中的多态
OC中的多态
代码1:
#import <Foundation/Foundation.h> @interface Animal : NSObject - (void)eat; @end @implementation Animal - (void)eat { NSLog(@"Animal-eat"); } @end @interface Dog : Animal @end @implementation Dog - (void)eat { NSLog(@"Dog-eat"); } @end int main() { Animal* a = [Dog new]; [a eat]; return 0; }
输出1:
Dog-eat
代码2:
#import <Foundation/Foundation.h> // Animal @interface Animal : NSObject - (void)eat; @end @implementation Animal - (void)eat { NSLog(@"Animal-eat"); } @end // Dog @interface Dog : Animal @end @implementation Dog - (void)eat { NSLog(@"Dog-eat"); } @end // Cat @interface Cat : Animal @end @implementation Cat - (void)eat { NSLog(@"Cat-eat"); } @end void feed(Animal* a) { [a eat]; } int main() { Animal* a = [Animal new]; feed(a); Dog* d = [Dog new]; feed(d); Cat* c = [Cat new]; feed(c); Animal* aa = [Dog new]; feed(aa); return 0; }
输出2:
Animal-eat Dog-eat Cat-eat Dog-eat
OC中的多态
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。