设为首页 加入收藏

TOP

OC教程2继承与复合(二)
2015-07-16 12:04:21 来源: 作者: 【 】 浏览:180
Tags:教程 继承 复合
tor alloc] init]; self.aCPU = [[IntelCPU alloc] init]; } return self; } @end

经过声明组件属性,为组件的对象指针分配内存。我们就使用成型的组件快速的制作好了一个功能完整的电脑。

4,super关键字

通常继承和复合会一同使用,来快速构造一个复杂的对象。

例如现在有一个需求,要求我们快速制作一个可以除甲醛的高级空调。通常我们并不是从零开始研发,而是基于一定基础开始制作。

在这里,我提供了两个对象作为研发的基础

  1. Kongtiao类,具有制冷方法
  2. 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
    

    这样我们在使用高级空调制冷的同时,也同时能够除甲醛了。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇OC教程3-类目延展协议 下一篇OC教程6-代码块block回调

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: