OC语言笔记(五):OC封装和复合

一、继承、封装、类别的总结

1、功能

继承:拥有父类属性和方法、可以加方法属性,可以改方法实现

封装:做一个类,做一个方法

类别:可以加方法


2方法调用

继承:父类或者子类的对象调用

封装:封装好的这个新类的对象或者类名调用

类别:基础类的对象调用


3关于self

继承:因为用的父类或者子类的对象调用的,父类或者子类的方法也是属于这些父类或者子类,所以在这些方法中,可以把正在调用的父类或者子类的对象用self表示


封装:如果用封装的这个类的对象来调用,那么对象可以在方法中用self表示,但是如果是方法中传进来的参数的时候,这个参数不能用self来表示


类别:因为用的基础类对象调用的,类别的方法又是属于基础类的,所有在类别的方法中,可以把调用方法的对象用self表示


self只能表示当前类的对象


二、复合

1复合(大的分成几个小的)

    BigClass *big = [BigClassalloc];//做一个大类的对象

    

    //做所有的小类的对象

    SmallOne *one = [SmallOnealloc];

    one.oneOne = @"1";

    one.oneTwo = @"2";

    

    SmallTwo *two = [SmallTwoalloc];

    two.twoOne = @"3";

    two.twoTwo = @"4";

    

    //把做好的小类对象赋值给大类中这两个小类所对应的属性

    big.one = one;

    big.two = two;

    

    NSLog(@"%@",big.one.oneOne);

2复合(大类加了一堆同样的小类对象)

    //做几个小类的对象

    InsideClass *insideOne = [InsideClassalloc];

    insideOne.infoOne = @"pp";

    insideOne.infoTwo = @"18";

    

    InsideClass *insideTwo = [InsideClassalloc];

    insideTwo.infoOne = @"qq";

    insideTwo.infoTwo = @"16";


    //做一个大类对象,并初始化大类的可变数组

    AllClass *all = [AllClassalloc];

    all.insideArr = [NSMutableArrayarrayWithCapacity:0];

    

    //把小填进大的数组中

    [all.insideArr addObject:insideOne];

    [all.insideArr addObject:insideTwo];

    

    //当需要用的时候,从大的数组中,找到其中一个小的,再取得这个小的对象的某些属性

    InsideClass *tempInside = [all.insideArrobjectAtIndex:0];

    NSLog(@"%@",tempInside.infoOne);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值