形成面向对象思想和方法的思维培养

2020-07-13 01:45罗晓江西司法警官职业学院
消费导刊 2020年43期
关键词:构造方法子类面向对象

罗晓 江西司法警官职业学院

许昕 江西司法警官职业学院

很多刚刚学习完面向过程编程的学生在接触到面向对象编程学习时难以适应,首先是解决思维方式的改变,其次是不会建立该有的类和对象,最后在定义方法时容易出现重复和程序代码过于复杂的情况。根据以上的问题,本文将探讨怎样形成面向对象编程的思想和方法,从而准确快速的建立模型编写代码,同时拥有代码的强壮性特点。

首先要有一个概念就是对象的特点是封装和继承,考虑完这两点后才是考虑多态的性质。我们的封装思想就是你要定义的这个类是有一组数据和处理这些数据的方法。接下来就是我们要想到的是继承性,也就是在现有的类的基础上可以创建新的类,最后考虑多态。

接下来就是要深刻了解构造方法的意义。由于构造方法是创建并且初始化对象,所以在定义类之前就要想好你定义的类是用赋值法来初始化还是用构造方法初始化,构造方法初始化有个好处就是构造方法进行方法重载,也就是由于参数的不同,构造方法有多样性。然后我们开始考虑类之间是否有继承关系,也就是如果你定义了一个类,是否可以在已经有的类的基础上派生出你需要的新类,而他们可以共享一些属性和方法,还可以增加一些属性和方法,这个考虑很重要,可以减少代码量,后续的维护性也很好。在我们的现实世界里,有许多对象都有继承的关联,所以刚拿到题目的时候可以先把一些对象列举出来,分析他们互相之间是否有联系。分析完以上内容后,开始考虑方法的重载和覆盖的问题。当你列举完后考虑是不是不同的类之间会出现做的行为名相同,而由于参数不同导致行为的内容不同,同时进行的另外一个考虑就是继承关系的两个类中其中一个类有可能重新定义另外一个类的方法,这就是方法的覆盖问题,这样的好处是在不同的子类中有不同方法具体实现,通常在多子类情况下出现。通常在这个时候已经有一些类成型,但是这时候如果发现有一些类有相似的属性和活动,这是我们可以考虑定义一个基本的抽象类。考虑完抽象类之后,再看看这些列举出来的类是否可以出现多重继承的情况,当我们碰到这种情况就可以使用接口来规范一些类的共同属性和方法,接口技术是继承思想的延续,拿到题目区分接口和父类的选择尤为重要。以上的论述就是我们在做面向对象编程题目的前期工作。

下面我们试想一下当拿到一道需要运用面向对象的题目解答时,首先考虑的就是根据功能进行分类,把题目中所有的对象都一一列举出来,,同时把所有对象涉及到的属性和行为都写出来,然后把相识的对象提取出一个类。接下来把所有的类写在一起,观察他们之间的关系,有一些类是可以作为其他类的内部成员出现的;有的类是可以通过相互的继承关系出现的,这样将大大减少代码的工作量。最后就是考虑访问权限问题,特别的需要相互访问的几个类要把他们的内部定义设置好权限。做好这些工作后,就可以进行系统的问题分析了,把题目中涉及的类分别写出来,每个类的成员属性也全部写出来,接下来是成员方法,当类与类之间,增加了属性或者是方法时,可以让一个类继承另外一个类。最后为了程序的可读性增加一个测试的类名,来实现整个活动的操作过程。具体的程序结构为:class 父类{成员变量声明;public 构造方法,赋值给成员变量;public成员方法} class子类extends父类{成员变量声明;子类的构造方法(调用父类构造方法,给成员变量赋值);父类的方法覆盖}public class父类{main()方法{建立子类的对象子;类的构造方法;调用对象的成员方法;println打印语句}。所有的面向对象的问题大体结构都可以使用这种模式思考,特别适用于刚结束完面向过程编程学习的大学新生,总结出规律性的经验将增强他们的编程自信。

我们在教授学生在面向对象设计时,首先要告诉他们面向对象的设计是今后编程的主流思想,不管今后在软件行业的哪个方向,包括软件类企业,网络类企业的技术要求都是需要掌握面向对象。多进行实际项目的操作有利于熟能生巧,我们要锻炼一种思维模式,那是一种概念,判断和推理的完全化过程,我们要用事物发展的逻辑化来分析解剖事物,用辩证主义思想来反复考证事物,最后用进取精神是实现他们。尽管会有很多困难,只要我们多请教,同时发挥自己的创新能力,就能在IT职场中实现自我价值。课堂的思维时间有限,更多的是课后的理解。作为程序员,应该有终身学习的人生概念,终身学习我们要做到把现在流行的编程语言做一些对比,发现他们之间的联系和区别,把相似的语言都熟练掌握,这样就会有一种编程的自信。终生学习的重要性对于软件行业来说非常重要,流行软件不断发展,要想不被落下,就要不断掌握新的技术,虽然新技术很生疏,但是基础知识却是和其他编程语言相通的。同时要不放过任何学习机会,通过大学生计算机知识竞赛,软件行业创新创业大赛来激励自己,给自己青春一定的压力,这些比赛都是非常好的学习机会。同时,学生要熟练掌握编程的学习方法,主要的就是分析法。分析法的关键原理就是先查看编程的正确答案是什么,一条一条的语句自己进行分析理解。然后自己重新做一遍,做完以后再对照原题的答案,找到自己的不足和问题出在哪里。最后根据自己的思路再想想用其他的编程方法能否同样得到相同的结果。所以我们通过常年的编程教学谈到了一个情况就是学生不但要有获得有价值信息的能力和方法,还要有判断信息有效性以及怎样把这些信息变成自己能够利用的资源和参考资料。最后一个面向对象编程的学习有一个方面是关于正确认识挫折。编程有时间压力,还有当不能运行出正确答案还找不到错误的原因时候,很容易产生放弃的念头,所以要学会根据实际情况调整自己的预期目标,再逐步地提高难度才行。

总之我们培养学生面向对象思想和方法就应该先把以上的基本概念和技巧讲通俗,然后不断地讲解分析实例,讲完同学再自己重做一遍实例,最后练习新的实例,老师再讲解新的实例,这样一个过程才是高效的对象思维的训练模式。

猜你喜欢
构造方法子类面向对象
DC-DC变换器分层级构造方法
卷入Hohlov算子的某解析双单叶函数子类的系数估计
面向对象的计算机网络设计软件系统的开发
关于对称共轭点的倒星象函数某些子类的系数估计
面向对象的数据交换协议研究与应用
《梦溪笔谈》“甲子纳音”构造方法的数学分析
几乎最佳屏蔽二进序列偶构造方法
面向对象Web开发编程语言的的评估方法
面向对象信息提取中影像分割参数的选择
块H矩阵新的子类