昆士兰大学 CSSE2002\/7023  Assignment 1通关秘籍

原创 2019年08月23日 澳洲IT圈


文| Essie

编辑| Chris


对于最近让很多同学头疼昆士兰大学CSSE2002/7023 —— Java的第一次作业,今天特意给出我作为学姐的一些新的体会和经验分享,帮助大家取得高分!

Assignment 1 是完成一个桌游的基础构造,作业具体的内容则是在Javadoc中详细展示的,所以完成本次作业很重要的一部分就是阅读Javadoc并且理解。当大家看Javadoc头晕目眩,无法理解这个小游戏的结构时,可以阅读本文所附的作业结构图来增强理解。

文中还将介绍本次作业中使用到的特殊类,能够给大家做一个简要的入门。

废话不多说啦,请大家接着往后看~


写在前面 —— 关于svn


在CSSE2002/7023 这门课当中, 所有的作业都是通过SVN提交上传的,每次作业都要根据作业详情.pdf 当中提供的链接(图1)重新设置, 并且在提交之前所有的precheck也都是由tutor在各位所提交到repository里面的code上运行产生的,因此请大家提高对SVN的关注度哦,如果还没有设置好SVN的话,请大家及时找tutor帮忙设置好!


SVN(subversion) 除了能够帮大家方便地提交code之外,还能够帮助大家恢复代码的历史版本(提交过的),尤其是在修改完代码之后出现了新的问题, 想要改回修改前的版本是,SVN就是我们的后悔药了。所以强烈推荐大家养成定时,定阶段提交保存代码的习惯。


作业结构图


几种特殊Class


这次Java的A1当中会用到除了类之外的其他特殊类,包括interface(接口)abstract class(抽象类)以及enum(枚举)等大家之前没有接触过的类别。本文会简要介绍及举例说明这些特殊类的特点,请大家带好小板凳和瓜子!


Interface(接口

Sample code 

我们通过观察sample code可以看出接口的一些特点

  • 接口中所包含的所有的方法的内容都是空的(eg.公共交通中的method“获得道路类型”和“获得最大承载量”)

  • Implement(执行实现)是一种类似于extends(继承)的动词,但是Implement描述的是普通class与Interface之间的关系(eg. 地铁和公交车都implement公共交通这个interface,我们也可以将这种关系理解为“地铁是一种公共交通,地铁具有公共交通的所有特质及功能”)

  • 所有实现某个接口的类都必须override(重写)接口当中存在的所有method(eg. 地铁和公交车当中都override了公共交通中的“获得道路类型”和“获得最大承载量”这两个方法,并且根据自身特点填充了方法当中的内容)

  • 我们无法instantiate(实例化)接口, 我们只能实例化实现该接口的(eg.我们可以看到intellij在我们实例化公共交通的这一行报错,但是没有在我们实例化地铁和公交车的时候报错)

  • 一个类可以同时实现多个接口(eg. 公交车同时implement 公共交通和车辆两个interface, 易混淆点是一个类只能extend(继承)一个类)


Enum(枚举)

Sample code 


枚举是一种通常用来代表具有限定范围的常值的,例如说我们可以用枚举来代表一个星期中的七天。当我们每次要实例化枚举的时候,往往都是被限定在枚举定义的几个常值中,就像我们在实例化“某天”时, 我们只能在一周七天里面选一天,星期八或者星期九都是不符合现实情况的,所以枚举也是无法实例化不在其所定义的常值中的其它值。


枚举也像别的类一样可以拥有private field(私有成员变量),只是定义方式与普通的类稍有不同。本例中的成员变量“是否要上学”的值都是附在定义的常值之后的括号内,而“是否要上学”这个变量的正式定义则是在所有常值的定义之后。


枚举的constructor(构造器)也与一般类存在一些差异。首先最大的差异就是枚举的构造器只能是private或者是package-private的,而普通类的构造器都是public的。枚举和普通类一样都是会自带默认构造器(不含参数),但是一旦我们在定义枚举中的常值时附上了成员变量,这时就一定要overload(重载)构造器了,并且重载的构造器的参数必须与定义的成员变量匹配。而重载的构造器的内容也在实例中展示,大家照葫芦画瓢即可。


Abstract Class(抽象类

这一部分没有sample code,主要原因是抽象类与接口十分相似,差异在于抽象类中非抽象方法是需要写出方法内容,抽象方法(abstract method)则与接口中的方法一样,不需要写出方法的内容,而是由继承抽象类的类去实现抽象方法中的内容。


关于Java的第一个作业,暂时能给大家的小Tip就这些啦。

如果还对作业还是感到有难度的话,也欢迎大家了解匠人学院的大学辅导课程。


请戳下文了解详情👇

老天一定觉得布村留学生的课业太难,所以前学校Tutor学霸忍不住要来带你刷题过考试


留学在外,圈子很重要,成功渡过课程难关更是最重要的任务。

找到一个既能帮助自己解惑提高成绩,又能让接触到行业圈子的渠道。除了匠人,没第二家。

所以,来找匠人吧!

再也不用担心高额的重修费找上门,就在这个学期一起成为屠7大神!



联系“匠人小安”做更优秀的自己一


We

如此厉害的匠人,我们是谁?


澳洲IT匠人圈:
致力于做更好的IT专业人士组织。
我们的初衷就是连接海内外的IT同仁,团结互助、工作内推、职场升迁。
IT匠人圈为IT匠人旗下社群。
IT匠人圈有一系列的品牌活动:
Offer收割机、大咖面对面、
匠人Workshop、匠人线上公开课、
创业英雄会,活动开展以来反响强烈。


IT匠人服务有:培训课程,就业服务,大学课程辅导,人才猎头



Community

澳洲IT匠人社群


作为澳洲领先的IT行业交流圈子,已经有8000多个小伙伴加入,从刚刚来澳洲的IT新生,到行业大神都在IT圈子里。分享工作机会,解答生活职业就业移民问题。一个有爱的圈子,期待同样有爱的你加入。如果你被如此优秀的匠人精神吸引,欢迎2019年的新生加到相应的大学新生群!



* 目前,IT匠人圈已经有8个满的求职技术交流群,每个城市的匠人群,各大学的IT/CS新生群,行业交流群(大前端,Devops,Mobile,数据等等)


听说点赞的人,都拿到了好成绩


收藏 已赞