比如Person和Student两个类,学生是人,所以为了Person类的一些属性去继承合情合理;但是又比如Book类,学生需要书的属性,让学生去继承书就不合理了,而把书当做一个对象,作为学生的成员,既满足需求也合理,也就是集合。
@class只是一个声明,比如在Student.h里,定义了一个Book *_book变量,只需用@class Book;声明这个Book是个类即可,具体这个类有什么,并不需要考虑。还有一点,@class可以解决两个头文件相互包含的问题。
#import是把.h整个拷贝过来,比如Student继承Person,这时需要明确知道父类里有哪些成员、方法,否则成员重定义都不知道。
简单理解为继承用#import,集合用@class,盲目使用#import将会无谓降低编译效率。
以上是我的理解,希望能帮到你,如果有误啥的还请楼下补充纠正>_< |