您的位置:首页 > 移动开发 > IOS开发

IOS开发之三大特性(继承)

2015-03-01 08:54 253 查看

三大特性之继承

1. 继承的基本用法

l我们可以设计两个类Bird、Dog

// Bird的声明

@interface Bird : NSObject

{

@public

int weight;

}

- (void)eat;

@end

// Bird的方法

@implementation Bird

- (void)eat {

NSLog(@"吃-体重:%d", weight);

}

@end

// Dog的声明

@interface Dog : NSObject

{

@public

int weight;

}

- (void)eat;

@end

// Dog的方法

@implementation Dog

- (void)eat {

NSLog(@"吃-体重:%d", weight);

}

@end

l有相同的属性和行为,抽出一个父类Animal(先抽取weight属性,再抽取eat方法)

// Animal的声明

@interface Animal : NSObject

{

@public

int weight;

}

- (void)eat;

@end

// Animal的方法

@implementation Animal

- (void)eat {

NSLog(@"吃-体重:%d", weight);

}

@end

子类在父类的基础上拓充属性和方法

// Bird的声明

@interface Bird : Animal

{

@public

int height;

}

- (void)fly;

@end

// Bird的方法

@implementation Bird

- (void)fly {

NSLog(@"飞-高度:%d", height);

}

@end

// Dog的声明

@interface Dog : Animal

{

@public

int speed;

}

- (void)run;

@end

// Dog的方法

@implementation Dog

- (void)run {

NSLog(@"跑-高度:%d", speed);

}

@end

子类方法和属性的访问过程:如果子类没有,就去访问父类的

父类被继承了还是能照常使用的

父类的静态方法

画继承结构图,从子类抽取到父类

NSObject的引出:全部OC类的最终父类,包含了一些常用方法,比如+new

2. 继承的专业术语

父类 superclass

子类 subclass\subclasses

3. 继承的细节

单继承

子类和父类不能有相同的成员变量

方法的重写

4. super关键字

分别调用父类的对象方法和类方法

5. 继承的好处

不改变原来模型的基础上,拓充方法

建立了类与类之间的联系

抽取了公共代码

6. 继承的使用场合

它的所有属性都是你想要的,一般就继承

它的部分属性是你想要的,可以抽取出另一个父类
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: