OO第二单元(5-8周)作业总结

0.前言
本次博客针对的作业是使用抽象类,继承,接口解决问题,面向对象的封装性、继承性与多态性三大技术特性;

作业过程总结

(1)三次作业之间的知识迭代关系:第一次作业难度从难至易,第一题便要使用正则表达式,第二第三题用抽象类解决难度不大。第二次作业强调继承,类的使用,第三次作业用到了接口,加之之前的东西,一步步使用的东西更加多,更加综合,也让我们更加花更多的时间,从中也一步一步将我们带入代码的世界,面向对象的三大特性也呼之欲出,继承性,多态性,封装性。
(2)如何通过作业逐步理解面向对象的封装性,继承性,多态性三大技术特性;
作业中是逐步难度增大,第一次作业主要是封装性,也就是都用类表示,封装起来。第二次作业强调继承性,extends,子类继承父类的东西,方法得以使用。第三次作业也就用到了接口,也就是多态性的体现,一个接口让更多的方法实现。第一第二第三三次作业逐步让我们了解封装性,继承性,多态性这三大特性。
(3)作业中遇到的问题及解决方法:继承中的继承思想不熟练,不知道在说啥,不知道继承的是啥。例如那个第一次作业中的第三题,图形的继承,和第二次作业的抽象类的使用,基本的使用规则也不熟悉,解决方法:总是要去看书,查csdn,在第三次作业中使用接口中更加得以体现,不熟悉语法和使用规则。解决方法:查csdn,看慕课的视频。慢慢的来总会知道的,只是太费时间,让人坐不住。
(4)每次作业花费的时间比例:第一次作业花费的时间大概几天断断续续应该有10小时。第二次作业就更久了算15小时吧,第三次作业20小时。比例1:2:3。
(5)对编程过程的严谨性的认识及教训:写代码真的我现在初学java,好多语法错误,也不会用,都不熟练,还是要学习的时候认真学,把每一个东西都吃透,这样用起来才简单舒服。教训:还是得好好上网课,课后时间也要多看看书,多学点东西吃透。

OO设计心得

(1)对面向对象三大技术特性之间关系的理解:
封装是面向对象编程的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体是类,类通常对用户隐藏其实现的细节,这就是封装的思想;继承性就是子类对夫类的继承。使子类的对象拥有父类的全部属性和行为,同时可以增添自己的所特有的属性和行为。这样可以节省写共同具有的属性和方法代码的时间,有利于代码的复用,这就是继承的基本思想;一个程序中同名的多个不同方法共存的情况,通常使用方法的重载和重写(也叫覆盖)来实现类的多态性,多态性允许以统一的风格编写程序,以处理种类繁多的已存在的类以及相关类,多态的实现并不依赖具体类,而是依赖抽象类和接口,在多态的机制中,父类通常会被定义为抽象类,在抽象类中给出一个方法的标准,而不给出实现的具体过程,通过继承父类来实现,而比抽象类更方便的是将抽象类定义为接口。
(2)面向对象设计的基本原则理解(单一职责原则及“开-闭”原则)
一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。类的职责要单一,不能将太多的职责放在一个类中,不能使一个类太累。单一职责原则是实现高内聚、低耦合的指导方针;开闭原则是面向对象的可复用设计的第一块基石,是面向对象设计的目标
(3)OO编程思维的理解:面向对象思想使代码与现实世界有关联,面向的是使用者,三大特性也是为其所创,封装性,每一个类都有自己的方法,继承能节省代码,多态更能够让代码有复用性和多义性。
(4)类设计心得:设计一个类,首先私有的东西是要有的,get和set方法可以通过编译器来获得,减少了写程序人的时间和精力,构造方法带入所需的参量,其余方法便是这个类的主要方法与功能,每个类有每个类的功能,都是独立的。能够更加有每个类的特点。这是我对类的设计心得。

测试的理解与实践

测试对于编码质量的重要性与查阅资料,假设使用Junit进行程序的测试是否可行;
简单来说也就是一开始的编译,这是第一步,编译都不行,那运行更不用说了。首先要保证语法是正确的吧。才能进行下一步判断程序是否能实现题目要求,实现所需功能。下一步运行,得出得结果不符合题目要求,那就进去debug环节。我一开始使用eclipse这个编译器时是而别不了解这个软的使用规则,根据老师的要求进行了第一次debug,我特别不熟练,不明白,需要再次打开慕课视频一步一步跟着上面的老师一步一步来,这便是我的第一次实践。测试对程序的重要性不言而喻,没有测试的程序可能不知道在哪里就出现一个bug,到那时候程序都要崩溃。所以测试就是程序出厂前的最后一步关键步骤,缺之不可。

课程收获

让自己对程序的世界再进一步了,冰山一角已经展现在我们眼前。让我们接触到了三大特性,也练了自己的心态,因为有时候不懂的地方写一个程序真的很无聊很烦很累,坐在房间里一个下午的时间时常有的,这就在磨练我们的耐性了,所以说,切记浮躁!

对课程的建议

(1)第三阶段作业的难度,题量的建议:难度要一步一步逐步递增,我们不可能一下吃成个大胖子,慢慢来,但也要给我们压力,截至时间上把握好度,题量上可以多点,比如十个题,五个简单题,三个一般题,两个难题,这样利于我们熟悉java的使用规则,也能让我们去攻难,毕竟谁也不是牛顿,爱因斯坦,而且也没有多少人能做到自觉作业,自主学习。一步一步来。
(2)课程内容讲解方面的建议:讲解上仔细点,生动点,讲慢点,要让我们真正学习到,那才是有效讲解时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值