首页 > 代码库 > 【OC学习-12】什么是类的继承?为什么要继承?以及继承里面的注意事项
【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]方法,但对象还是本类对象,所以值还是本类的初始化的那个值。
【OC学习-12】什么是类的继承?为什么要继承?以及继承里面的注意事项
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。