【OC学习-12】什么是类的继承?为什么要继承?以及继承里面的注意事项

(1)如何实现类的继承?

//之前的继承根类,如类ASStudent继承自根类
@interface ASStudent:NSObject{
}
@end

//现在继承现有自定义的类,如ASStudent继承自Student
@interface ASStudent:Student{
}
@end

(2)为什么要学习继承?

理由就是少些代码。某些东西可以重复利用,即父类有的东西,在子类里可以不用再写一次代码,直接继承父类的即可。


(3)继承的一些注意事项

a:子类的实例变量不能和父类重名;

b:子类初始化出的对象可以调用自己的函数,也可以调用父类里的函数,因为都继承过来了;

c:父类的实例变量类型在子类里不变,子类只能直接访问父类的public和protected类型实例变量,父类和子类只有public可以直接用->调用;

d:子类的方法可以覆盖父类的方法(如果方法名、参数个数、类型、方法返回值类型都一样时),子类的方法一般更详细具体,父类的方法更抽象。

e:多级继承下得初始化规则,一是应该重新载入init;二是在自己类中写指定初始化方法;三是自己类的init方法调用自己类的指定初始化方法;四是自己类的指定初始化方法调用父类的指定初始化方法。否则会出现递归调用;

f:消息查找规则,先查找本类,然后往父类查找,需要注意的时有时候虽然用B类创建了b对象,用[b display]调用display方法,且display方法调用了父类[super display]方法,但对象还是本类对象,所以值还是本类的初始化的那个值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值