调整类的实现结构 super   

初始化方法的典型功能应当是初始化本类中定义的新变量

父类中定义的变量通过向请求初始化方法的消息链连接起了所有继承树,请求初始化方法来得到初始化:

- (id)initWithName:(NSString *)string {
    
    if self = [super init] ) { 
        
        name = [string copy];
        
    
    
    return self;
    
}


父类的变量会比子类的变量先得到初始化

例如,Rectangle对象在初始化时,会依次被当作

NSObject,Graphic,Shape  Rectangle 

对象来进行初始化