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 - 它的实现、用途等