超类
即父类,通过 [super setName: @"a"] 可以调用超类方法
复合
是指一个对象由其他多个对象组成
对象初始化
@interface Car : NSObject ( Engine *engine; ) @end @implementation Car - (id) init { if(self = [super init]){ engine = [Engine new]; } return (self); } //init @end
若要超类可以完成所需的一次性初始化,需要调用[super init]。将[super init]的结果赋给self是oc的标准惯例。防止超类在初始化过程中返回的对象不同于原先创建的对象。
#import
1、导入系统头文件用 <>,导入项目本地头文件用 ""
2、a.m 的implementation 时需要 #import "a.h"
3、@interface中, a.m 可以使用 @class Engine 来告诉编译器以后会知道这是个什么,implementation中还是需要#import。#import会告诉编译器类的详细信息,而@class只会告知这是一个类。#import循环依赖引用会报错,而@class不会, A引用B,B引用A。不可以在子类里使用@class引用超类,因为那时候编译器还不知道超类的信息。
时间: 2024-10-11 11:31:34