Class 层次结构不适合继承模型
Class hierarchy not fitting inheritance model
我想创建一个名为“Activity”的 class,它将具有 ActivityID、ActivityText、Image 等属性。现在,用户可以post 对此 activity 和 LIKE/UNLIKE 发表评论 activity。
ActivityClass --
// Activity.m
#import "Activity.h"
@implementation Activity
@synthesize id = _id;
- (void)setActivityMessage {
NSLog(@“New Activity message ");
}
@end
喜欢不喜欢Class—
// LikeUnlike.m
#import "LikeUnlike.h"
@implementation LikeUnlike
- (void)likeActivity {
NSLog(@“ likeActivity
message ");
}
- (void)unlikeActivity {
NSLog(@“ unlikeActivity
message ");
}
@end
评论Class --
// Comments.m
#import "Comments.h"
@implementation Comments
- (void)addComment {
NSLog(@“ addComment ");
}
- (void)editComment {
NSLog(@“ editComment ");
}
- (void)deleteComment {
NSLog(@“ deleteComment");
}
@end
classes 的层次结构类似于 Activity—> LikeUnlike & Activity —> Comments
我了解继承,但我的案例不适合将 ActivityClass 子ActivityClass 为 LikeUnlikeClass 和 CommentsClass。
任何人都可以帮助说明使用哪种策略来维护此层次结构..?
无需为您的场景对 classes 进行任何复杂的子classing。但是,仅供参考,当您希望某些方法只是 class 的一部分而不是将新的 class 创建为 subclass 时,您可以使用 CATEGORY.
在你的情况下,如果你想分离 PostComment class,请将其设为 Activity Class 的类别。
有关 Category 的更多信息,请阅读此处 http://rypress.com/tutorials/objective-c/categories,它解释了 Category - 它的实现、用途等
我想创建一个名为“Activity”的 class,它将具有 ActivityID、ActivityText、Image 等属性。现在,用户可以post 对此 activity 和 LIKE/UNLIKE 发表评论 activity。
ActivityClass --
// Activity.m
#import "Activity.h"
@implementation Activity
@synthesize id = _id;
- (void)setActivityMessage {
NSLog(@“New Activity message ");
}
@end
喜欢不喜欢Class—
// LikeUnlike.m
#import "LikeUnlike.h"
@implementation LikeUnlike
- (void)likeActivity {
NSLog(@“ likeActivity
message ");
}
- (void)unlikeActivity {
NSLog(@“ unlikeActivity
message ");
}
@end
评论Class --
// Comments.m
#import "Comments.h"
@implementation Comments
- (void)addComment {
NSLog(@“ addComment ");
}
- (void)editComment {
NSLog(@“ editComment ");
}
- (void)deleteComment {
NSLog(@“ deleteComment");
}
@end
classes 的层次结构类似于 Activity—> LikeUnlike & Activity —> Comments
我了解继承,但我的案例不适合将 ActivityClass 子ActivityClass 为 LikeUnlikeClass 和 CommentsClass。
任何人都可以帮助说明使用哪种策略来维护此层次结构..?
无需为您的场景对 classes 进行任何复杂的子classing。但是,仅供参考,当您希望某些方法只是 class 的一部分而不是将新的 class 创建为 subclass 时,您可以使用 CATEGORY.
在你的情况下,如果你想分离 PostComment class,请将其设为 Activity Class 的类别。 有关 Category 的更多信息,请阅读此处 http://rypress.com/tutorials/objective-c/categories,它解释了 Category - 它的实现、用途等