【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]方法,但对象还是本类对象,所以值还是本类的初始化的那个值。

posted @ 2015-04-29 14:59  mfrbuaa  阅读(287)  评论(0编辑  收藏  举报