您的位置:首页 > 移动开发 > Objective-C

[Objective-c 基础 - 2.3] 继承、组合

2014-11-24 18:41 239 查看
A.继承的实现: is a

1.不允许子类、父类存在相同的成员变量
2.方法调用优先原则:子类调用方法的时候,优先从本类寻找,若无则向上在父类中寻找
3.重写:子类重新实现父类的方法,覆盖父类之前的方法
4.无论对象方法或类方法都可以重写
5.缺点:致使耦合性增强
6.OC只能单继承

B.组合的实现: has
1.不使用继承,而是将某个类作为成员变量,就可以使用其成员变量和方法

C.super关键字
对象方法和类方法都可以使用super调用父类的方法

#import <Foundation/Foundation.h>

@interface Zombie : NSObject
- (void) walk;
+ (void) test;
@end

@interface JumpZombie : Zombie
- (void) walk;
+ (void) test;
@end

@implementation Zombie
- (void) walk
{
NSLog(@"往前挪两步");
}

+ (void) test
{
NSLog(@"哈哈");
}
@end

@implementation JumpZombie
- (void) walk
{
NSLog(@"跳两下");
[super walk];
}

+ (void) test
{
NSLog(@"呵呵");
[super test];
}

@end

int main()
{
JumpZombie *jz = [JumpZombie new];
[jz walk];
[JumpZombie test];
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: