关于Comment类
Closed this issue · 2 comments
Jafee commented
- 第65行
comment.getParent().children.remove(this)
,不明白为什么要拿到 comment 父节点下的节点,然后移除this ? - children变量和setParent方法,明明都是私有的,为什么可以直接访问呢?
- 为什么setParent方法要设置成私有方法?
希望大神可以解答一下,之后可以删掉这个issue,可能问的太简单了。
yyqian commented
谢谢提问,不是大神:)
- 是个 bug,应该是
comment.getParent().children.remove(comment);
这里的逻辑是如果检查得知 comment 当前是有父节点的,那就把它从当前的父节点的子节点中移除 - 因为是在 Comment 类内部访问 Comment 的私有方法和属性
- 因为这里的链接是双向的,有更安全的 attachChild 方法来完成这个操作。如果外部只调用了 setParent 方法把当前节点指向一个父节点,会缺失父节点到当前节点的指向,为了避免这种误操作,所以设成私有了。
Jafee commented
我之前想问 this
是不是应该 comment
,不过看到上面有句注释,还是个反问句,就以为是另有用处。
几乎看了一遍这个项目,让我受益很多,谢谢大神!