由课设和面向对象想到的一些东西

前些天草草的把Java课本(学校老师自编课本)浏览了一遍,最近正在看《Java核心技术》,感觉书有点儿难度。正在努力理解接口和异常。

我刚接触编程时,就已经听说了“面向对象编程”这个概念,但完全不能理解。百度相关信息,只能得到一些“哲学答案”,比如“万物皆对象”等等。我问学长学姐,他们给我的答案也都模棱两可。现在学完C语言后,终于能初步感受到面向对象的思想了。所以我的感受是,有些不懂的东西不需要太着急,可能是自己还没有学会基础的东西,学着学着慢慢就懂了。同时我也觉得C语言入门虽然难且艰辛,但对计算机专业的学生来说还是很重要的。

上学期末,我在做C语言的课设时(小球移动),就萌生了一些面向对象的想法。当时我把一个个的球封装为结构体,我就想如果能把球的各种功能(删除、运动、选择)也和球绑定在一起,那多方便啊,明明是一体的东西,却要拆成不同的模块。后来一学Java,突然觉得用C语言写那个课设真的是挺不科学的,用面向对象估计能省很多力。

估计跟我们专业的历史也有关系,听说数年前,C语言上两个学期,大二开始才学面向对象语言(C++或Java),那大一下学期时若想做课设也只能用C语言。我们的课设用的图形库是EasyX,是TC里的graphics.h移植到windows上的。开发者是个非常热心的人,经常在QQ群里回答大家的问题(不乏许多日经问题)。我将我的作品投稿到他的网站时,他也以非常谦逊的态度精准地指出了一些程序中存在的问题,并给了我许多修改建议。我正是在他的建议下,才第一次捣鼓出了计时功能(time.h),否则我会因偷懒而失去这一实践的机会,我很感谢他。

这次我的课设大概从v0.5开始便用上了github,很多功能还不太会用,有时候分支还会弄错(出现一些奇怪的效果,比如远程pull以后我刚修改的东西没了之类的),但总体上还是感受到了git的便利,我为能早日用上代表先进生产力的工具还是挺高兴的。现在我在桌子的前面贴了张Git分支图,平时没事儿多看看。

git分支欢迎各位同学来fork我=。=我突发奇想,Github完全可以做一种education模式,给每个班级搭建平台,不管是提交作业还是教师反馈都会很方便,还可以让同学们锻炼团队编程的能力。

这学期专业课只剩下一门Java,那么我是时候该直视一下高数II,大雾和四级的考验了…