Objective-C继承

继承
只是想谈谈在OC中继承的理解:
面向对象语言中一个主要的功能就是继承。继承可以使用现在类的所用功能,是对功能的扩展,通过继承创建的新类称为“子类”或“派生类”,被继承的称为“基类”或者“父类”。继承的过程就是从一般到特殊的过程。
语法规则:@interface 子类: 父类
下面的代码就是一个例子:
1,创建汽车类,声明并实现其属性和方法。
2,创建卡车类,继承于汽车类,声明并实现其特有的方法和属性
3,创建出租车类。继承与汽车类,声明并实现其特有的属性和方法。
4,在main.m中测试子类是否能继承父类的属性和方法。
1
#import <Foundation/Foundation.h> 2 @interface Car : NSObject 3 @property(nonatomic,assign)NSString *brand; 4 @property NSString *color; 5 -(void)brake; 6 -(void)quicken; 7 @end 8 9 #import "Car.h" 10 @implementation Car 11 -(void)brake 12 { 13 NSLog(@"%@车刹车了!",_brand); 14 } 15 -(void)quicken 16 { 17 NSLog(@"%@车加速了!",_brand); 18 } 19 @end 20 21 #import "Car.h" 22 @interface Truck : Car 23 @property(nonatomic,assign)float maxWeight; 24 -(void)unload; 25 @end 26 27 #import "Truck.h" 28 @implementation Truck 29 -(void)unload 30 { 31 NSLog(@"%@颜色的%f载重的%@货车\n开始卸货!",self.color,self.maxWeight,self.brand); 32 } 33 @end 34 35 #import "Car.h" 36 @interface Taxi : Car 37 @property(nonatomic,assign)NSString *company; 38 -(void)printTick; 39 @end 40 41 #import "Taxi.h" 42 @implementation Taxi 43 -(void)printTick 44 { 45 NSLog(@"%@公司%@颜色的%@出租车\n开始打印发票!",self.company,self.color,self.brand); 46 } 47 @end

输出结果:

2016-02-26 19:22:05.689 CarNew[3045:405948] 法拉利车刹车了!


2016-02-26 19:22:05.690 CarNew[3045:405948] 法拉利车加速了!


2016-02-26 19:22:05.690 CarNew[3045:405948] 白颜色的2.600000载重的法拉利货车


开始卸货!


2016-02-26 19:22:05.690 CarNew[3045:405948] 宝马车刹车了!

2016-02-26 19:22:05.691 CarNew[3045:405948] 宝马车加速了!

2016-02-26 19:22:05.691 CarNew[3045:405948] 中国四方公司黑颜色的宝马出租车

开始打印发票!


 

posted @ 2016-02-26 19:41  天空︿( ̄︶ ̄)︿蓝  阅读(247)  评论(0编辑  收藏  举报