农民领袖
- 积分
- 11888
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2013-12-20
- 最后登录
- 1970-1-1
|
本帖最后由 18258170717 于 2014-10-20 16:44 编辑
谁能分析一下,为什么用了newNode之后就可以不用override方法了?PS:应经弄明白了。就是在LockDList里面不能有DListNode出现,因此在call insertFront()等方法时要使用dynamic look up去构建LockDListNode,调用LockDList里的newNode()而不是DList里的newNode(虽然declare的变量的static type是DListNode,但本质上Object是LockDListNode,这样就可以符合要求了吧,利用了多态性)。如果不用newNode的话,所有DList里面凡是设计了new DList(item,p,n)的方法都要override,否则就是在用DListNode构造函数,不符合作业要求。
最后还是要问一下,Part 2有人会吗?求指点,难道是toString?还是item也要protected?但里面已经说了item只能输入,无法读取或者改变呀。。
|
|