楼主: jaly50
跳转到指定楼层
上一主题 下一主题
收起左侧

Berkeley CS 61B Data Structures(in Java) Homework4 加分+讨论帖

 
🔗
quzijun17 2016-7-21 11:42:08 | 只看该作者
全局:
终于算是完成了,这次的很难。
更多图片 小图 大图
组图打开中,请稍候......

评分

参与人数 1学分 +1 收起 理由
yingy4 + 1

查看全部评分

回复

使用道具 举报

🔗
neri 2016-7-22 06:47:01 | 只看该作者
全局:
不得不说老师讲的很清楚,第一部分不太理解head作为sentinel的作用,不过后来查了资料也总算明白了。。不好好听课的后果。。第三部分对于super和sub的装换的细节讲的很到位,开始慢慢觉得多态性和继承性确实是很好玩的东西。继续努力!
更多图片 小图 大图
组图打开中,请稍候......

评分

参与人数 1学分 +1 收起 理由
yingy4 + 1

查看全部评分

回复

使用道具 举报

🔗
liuyijuner 2016-7-27 09:56:12 | 只看该作者
全局:


评分

参与人数 1学分 +1 收起 理由
yingy4 + 1

查看全部评分

回复

使用道具 举报

🔗
laahaa 2016-7-30 16:36:26 | 只看该作者
全局:
windforce 发表于 2014-6-18 01:45
昨天卡了很久。 其实是个小bug,纯粹自己疏忽
之所以我会出现ClassCastException,是因为我在  ...

觉得不对呀,在子类中修改了newNode,之后子类所有用的方法newNode其实都是被修改的
回复

使用道具 举报

🔗
Zjy_yahoo 2016-7-30 21:15:40 | 只看该作者
全局:
本帖最后由 Zjy_yahoo 于 2016-7-30 21:39 编辑

这次的简单一些,感觉核心的就是老师上课讲的,程序内部执行的时候是不看static type的,直接dynamic type,说白了其实就是这个reference本身存储的对象是什么,它调用一个override函数时采用的就是哪个。

我对此的理解目前来讲是,在调用那个函数时传递进去的this指针就是这个对象的本身,在这个例子中就是LockDList
这样即使LockDList的对象执行非重写的函数时,里面的newNode调用实际上是this.newNode,所以调用的是LockDList的版本。

为验证,我在Dlist的某个未被重写的函数(如isEmpty)内加入了如下代码:
        if(this instanceof LockDList){
            System.out.println("Bingo! 'this' pointer is the subclass! ");
        }
用Test文件得到的输出如下:



另外我想说的就是我也把insertBefore和insertAfter这两个函数进行了重写,我个人感觉应该判断node是否是LockDListNode
然后再决定是否执行添加的操作。
        public void insertBefore(Object item, DListNode node) {
                if(node instanceof LockDListNode){
                        super.insertBefore(item, node);
                }
        }

评分

参与人数 1学分 +1 收起 理由
yingy4 + 1

查看全部评分

回复

使用道具 举报

🔗
syongxin 2016-8-4 11:09:17 | 只看该作者
本楼:
全局:
交作业啦
更多图片 小图 大图
组图打开中,请稍候......

评分

参与人数 1学分 +1 收起 理由
yingy4 + 1

查看全部评分

回复

使用道具 举报

🔗
xiaohao 2016-8-5 21:29:13 | 只看该作者
全局:
交作业交作业交作业交作业
更多图片 小图 大图
组图打开中,请稍候......

评分

参与人数 1学分 +1 收起 理由
yingy4 + 1

查看全部评分

回复

使用道具 举报

🔗
minchen57 2016-8-6 00:21:51 | 只看该作者
全局:
交作业。多谢楼主的testcode。




评分

参与人数 1学分 +1 收起 理由
yingy4 + 1

查看全部评分

回复

使用道具 举报

🔗
forests 2016-8-10 03:41:51 | 只看该作者
全局:
交作业。
Part II:
DList d1 = new DList();
DList d2 = new DList();
d1.insertFront(-1);
d2.insertFront(d1.front());
Error. These two lists are messed up.

评分

参与人数 1学分 +1 收起 理由
yingy4 + 1

查看全部评分

回复

使用道具 举报

🔗
zzdsg 2016-8-10 15:14:06 | 只看该作者
全局:
写完第四次作业来打卡~开心
更多图片 小图 大图
组图打开中,请稍候......

评分

参与人数 1学分 +1 收起 理由
yingy4 + 1

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表