经过声明组件属性,为组件的对象指针分配内存。我们就使用成型的组件快速的制作好了一个功能完整的电脑。
4,super关键字
通常继承和复合会一同使用,来快速构造一个复杂的对象。
例如现在有一个需求,要求我们快速制作一个可以除甲醛的高级空调。通常我们并不是从零开始研发,而是基于一定基础开始制作。
在这里,我提供了两个对象作为研发的基础
- Kongtiao类,具有制冷方法
- ChuJiaquan类,具有除甲醛的方法
以下是Kongtiao类的声明
@interface Kongtiao : NSObject -(void)zhiling; @end以下是ChuJiaquan类的声明
@interface ChuJiaQuan : NSObject -(void)chuJQ; @end首先明确我们制作的是一个空调,所有我们创建一个高级空调类继承与空调类。
然后高级空调需要有除甲醛的功能,我们通过复合模式,把除甲醛的模块作为高级的空调的一部分。
最后我们重写父类的制冷方法,在制冷过程中添加除甲醛的步骤。但是在重写的方法会覆盖掉父类原有的方法。这里我们需要在重写方法中手动调用父类原始方法。就需要用到
super关键字。@interface NewKongtiao : Kongtiao @property(strong, nonatomic) ChuJiaQuan * cJQ; @end@implementation NewKongtiao - (instancetype)init { self = [super init]; if (self) { self.cJQ = [[ChuJiaQuan alloc] init]; } return self; } -(void)zhileng { [super zhileng]; [self.cJQ chuJQ]; } @end这样我们在使用高级空调制冷的同时,也同时能够除甲醛了。