OC方法和继承

oc是面向对象编程的语言,三个特点:继承,封装和多态.

oc中的方法分两种,一种是+号,类方法,这个方法一般由类来使用;一种是-号方法,一般由对象来使用

oc中的id相当于void *,  称为泛型指针,代表指针类型, 用id的时候不加*号

带参数的方法:去掉方法,数据类型.和变量剩下的部分就是参数的形容词,:必须留着,提示写参数,有急个冒号就写几个参数

//+ (void)test:(NSString *)str play:(NSString *)play eat:(NSInteger)eat;

// 方法名是test: play: eat:  留下来的部分称为参数的形容词,:必须留着,提示你写参数,有几个冒号就有几个参数

成员变量的可见度有四种

@public:公开的,共有的,这个可见度在类的外面可以进行对成员变量内容的设置,但是数据非常不安全,所有开发基本不用

@protected:被保护的,也是默认的可见度,被保护的成员变量可以在本类和继承它的子类进行使用,不能在主函数进行设置,安全级别提高

@private:私有的,安全级别最高,被它修饰的成员变量只能在当前类里进行内容设置,子类也不能使用

@package:系统的类,我们用不到,直接无视

成员变量赋值有两种方式:1.设置器和访问器(setter和getter方法):每一个成员变量有一对设置器和访问器,setter和getter只对一个成员变量进行设置:完整版,防止野指针,内存管理部分

<span style="font-size:18px;">//    if (_per != per) {
//        [_per release];
//        _per = [per retain]; // 防止野指针
//    }
</span>
2.对多个成员变量进行操作,叫做赋值语句,不是设置器

<span style="font-size:18px;">- (void)setStuName:(NSString *)stuName
               Age:(NSInteger)age
             score:(CGFloat)score
             hobby:(NSString *)hobby
               sex:(NSString *)sex;
</span>
继承:面向对象的重要特点,主要目的是为了解决代码重复的问题

子类可以继承父所有特征和行为,子类只需要写独有的成员变脸即可,其余都可以继承的方式得到,如果重复写,会报错

继承有明显的优势在于可以节省代码,但是弊端在于代码的耦合度太高,也就是类和类之间的关联性高.

oc可以使用继承,但是不推荐多层的继承,就是为了防止因为关联性高,造成牵一发而动全身

继承是单向的,一个类只能有一个父类,但是可以有多个子类,NSObject是OC里的根类,我们使用的init和alloc都是继承来的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值