我有一个超类问题:iPhone超级类/子类实施例
import <Foundation/Foundation.h>
#import "Answer.h"
@interface Question : NSObject {
NSString* qId;
NSString* qTitle;
NSString* qNumber;
NSString* sectionId;
NSString* type;
Answer* answer;
}
@property (nonatomic, retain) NSString* qId;
@property (nonatomic, retain) NSString* qTitle;
@property (nonatomic, retain) NSString* qNumber;
@property (nonatomic, retain) NSString* sectionId;
@property (nonatomic, retain) NSString* type;
@property (nonatomic, retain) Answer* answer;
@end
#import "Question.h"
@implementation Question
@synthesize qId, qTitle, qNumber, sectionId, type, answer;
-(id)init
{
if (self = [super init])
{
// Initialization code here
answer = [[Answer alloc]init];
}
return self;
}
-(void) dealloc{
[answer release];
[super dealloc];
}
@end
我有几种类型的问题的,一个例子是一个滑块的问题。我想要这个班的子类问题:
#import <Foundation/Foundation.h>
#import "Question.h"
@interface SliderQuestion : Question {
(NSString*) min;
(NSString*) max;
}
@property (nonatomic, retain) NSString* min;
@property (nonatomic, retain) NSString* max;
@end
}
#import "SliderQuestion.h"
@implementation SliderQuestion
@synthesize min, max;
@end
这是子类的正确方法吗? SliderQuestion是否会继承Question中包含的属性?
SliderQuestion* s = [[SliderQuestion alloc]init];
NSLog(@"%@", s.qId); //is this valid
您可能还想释放'dealloc'中的属性。 's.qId'应该是有效的,但是'nil'。你做错了吗? –