面向对象编程-第三阶段作业总结

 

0、前言

本次博客对本学期所学java相关知识进行总结,也是对前面的知识进行回顾,也对这一路遇到的问题进行反思,来给这门课画上一个圆满的记号。

1、作业过程总结

①作业过程总结

   作业的难度循序渐进,从刚开始的快速上手到后面的执笔不下,看的出来作业的难度是一步一步的增强的,而与之伴随的,我的能力也在不断增强,每次的作业也不仅仅是停留在课堂里学的知识或者说是课本里的知识,做题的过程中会遇到许多没学过的知识,或者是不知道怎么将所学的知识进行运用,这都在考验着我与同学讨论的能力以及自己去探索的能力,就像正则表达式,需要自己学习并且来解决老师所给的题目,又像栈的应用,感觉自己听懂了,但是一遇到与之相关的表达式求值时,显得格外无助,每一个遇到的困难都需要自己去查询资料,慢慢地摸索。

②如何通过作业逐步理解面向对象的封装性、继承性与多态性三大技术特性;

   刚开始学java时,习题没有涉及到面向对象的三大技术特征,做起来与上学期的c语言一样,只是在面向过程,慢慢的,面向对象的封装性开始浮出水面,刚开始不理解为什么要用封装性,觉得很麻烦,但是后面做的多了,就开始去查询资料关于封装性的好处,以及为什么要用封装性,知道了这样的处理使的方法与成员变量相比,操作起来更灵活, 更适合暴露给别的类,后面的继承性与多态性也是在老师布置的作业中,自己慢慢的学会使用,后来也慢慢的对这进行了了解,这提高了代码的复用性,这也使类与类之间产生了关系,关系的出现,导致了多态的出现,多态的核心在于向上转型,保持参数一致(父类的引用) 开发时都是使用向上转型, 所以使用的都是父类的引用 如此对象的传递即可以传递父类的对象,也可以传递子类对象,最终的结果因传递的对象不同,结果就不同,但是参数始终是一样的,完全符合类的多态性。

2、OO设计心得
①对面向对象三大技术特性之间关系的理解

封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏,这就是封装。封装是面向对象的特征之一,是对象和类概念的主要特性。就是一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。

继承:继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。继承的过程,就是从一般到特殊的过程。

多态:多态就是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。

②  面向对象设计的基本原则理解

面向对象设计的基本原则使的新特性能够很容易的添加到现有系统中(可拓展),不会影响原本的东西,当修改某一部分的代码时,不会影响到其它不相关的部分(可修改)将系统中某部分的代码用其它有相同接口的类替换时,不会影响到现有系统(可替代)

③  类设计心得

刚开始不知道怎么类设计,都是老师会给出类图,让我们循序渐进的去慢慢了解类设计,对类设计有个印象,慢慢的出按老师给出的类图去写出相应代码,到了后面老师不给出类图了,需要自己根据题目去设计类,开始不知道怎么设计类使得程序可在不修改原来的代码拓展,就去看老师以前给出题目的类图,多写几个题目后,慢慢的知道应该怎么去设计类使得程序更好的拓展。

 

3、课程收获

   在这个学期的课程上,学到了许多关于面向对象的知识,像封装性,继承性,多态性,也在老师循序渐进布置的作业上对这些知识进行了巩固、加深,有的知识不太了解,就回去查找资料,这也锻炼了自己的自学能力,知道了遇到问题需要自己去寻找方法去解决,而不是把问题搁置在那里,在这个学习的过程中收获最多的应该是对oo思维的理解,怎么去按要求在类中设计好内容,类间设计好高效率的关系,并对将来的可能的复用做好规划的整体性思维,对面向对象有了一定的了解,也在这本课上学了一些数据结构,图,树,栈,也在布置的题目上对其进行了一定练习,给下学期的数据结构打下了一定基础,还学到了很有用的正则表达式,这对匹配字符起到了很大的作用,老师也是布置了很多次需要用到正则表达式的题目,需要自己对正则表达式去应用。

5、对课程建议

   希望题目难度不要太大,希望题目偏向于对知识的应用。

 

 

 

 

 

 

 

posted @ 2020-06-09 09:48  公瑾与狼  阅读(40)  评论(0)    收藏  举报