首页 > 解决方案 > 我如何创建一个不使用超类的所有属性的子类?

问题描述

我正在练习堆栈溢出的低级设计,我遇到了一个类结构

public class Post {
    public int postId;
    public PostBody postbody;
    public Date createdAt;
    public User user;
    public int upvotes;
    public int downvotes;
    public List<Comment> comments;
}

public class Question extends Post {
    public List<Answer> answer;
    public Topic topic;
    public List<Tag> tags;
}

public class Answer extends Post {
    public Bool isAcceptedAnswer;
}

public class PostBody {
    public String header;
    public String body;
    public String code;
}

public class Comment extends Post {
     public String comment;
}

在这里,Comment 类正在扩展 Post 类。或者,我可以考虑 Post 类中已经定义的 PostBody 类,或者我可以在 Comment 类中创建一个简单的字符串。

  1. 我们可以实现一个空类吗?如果不是,那么我应该如何实现 Comment 类?
  2. 如果我要添加一个字符串的注释属性,如何处理我从 Post 类继承的 PostBody 属性?

总的来说,我怎样才能实现评论类?

标签: javaoopobject-oriented-analysis

解决方案


推荐阅读