APP下载

Java编程基础课程类和对象的教学设计

2023-09-06熊威

中国教育技术装备 2023年5期
关键词:面向对象教学设计

熊威

摘  要  针对高职学院Java编程基础课程教学过程中,学生对类和对象难以理解的现状,利用类比和对比的方式引出面向对象的思想,以表格工具引出类和对象的概念和思维方式,同时将类和对象的思维方式引入文学领域,用写诗的过程帮助学生训练类和对象的思维。通过上述教学设计,增强学生学习兴趣,简化复杂的思维逻辑,最终达到提升课程教学效果的目的。

关键词  Java;面向对象;类和对象;教学设计

中图分类号:G712    文献标识码:B

文章编号:1671-489X(2023)05-0082-04

0  引言

面向对象是Java编程基础课程的核心思想,而类和对象是面向对象设计中两个最基本的概念,但是学生在完全没有接触过面向对象思维的情况下,理解类和对象非常困难。特别是高职学院学生,因为其基础和学习能力相对较差,如果使用传统的教学方法,学生很难理解,必须结合真实的事物和场景,帮助学生逐步构建面向对象的思维,再建立类和对象的思想。

1  类和对象的教学设计

要理解类和对象,要先有面向对象的思想,同时为了巩固类和对象的思维,还需不断进行实践练习。笔者根据高职学生的实际情况,进行如下的教学设计。

1.1  构建面向对象的思维

结合学生的实际情况,在学习Java编程基础课程之前,学生已学习过C语言编程基础,可以以此为切入点,让学生通过回顾C语言编程基础学习中代码的实现过程理解面向过程,然后通过类比和对比过程,让学生形象地认识面向对象。

1.1.1  通过类比认识面向过程

面向过程思维解决的是如何按照步骤实现目标任务,同时该过程适合简单的不需要过多协作的场景,重点关注如何执行。以使用电脑观看视频为例,具体步骤为:接通电源→打开电脑开关→打开视频文件→观看视频。该过程是一步步解决观看视频问题的步骤,整个流程相对简单,无需协作。

1.1.2  通过对比和类比认识面向对象

基于对面向过程的理解,通过对比引出面向对象解决的是相对复杂、需要相互协作完成的问题。以生产电脑为例类比面向对象思维,一台电脑是由很多部件组成的,如显示屏、CPU、主板、内存、键盘等,每一个部件又都有各自的生产步骤,并且不同部件之间需要有标准的兼容方式。作为电脑生产企业,可以找不同部件的生产厂家完成不同部件的生产,只需制定不同部件之间兼容方式,而不用关注各个部件各自的生产步骤,最终根据整体设计进行组装即可完成电脑的生产。

1.1.3  面向过程与面向对象的区别和联系

面向过程是一种“步骤思维”,重点关注解决问题的具体步骤,主要用于解决相对简单的问题,而面向对象是一种“设计思维”,重点关注解决问题的设计和协作过程,主要用于解决相对复杂的问题。面向对象与面向过程是密不可分的,从宏观上看,解决问题需要通过面向对象思维进行整体设计;而从微观上看,各个细节仍然需要通过面向过程思维按步骤实现。例如,电脑制造过程中,整体结构设计和部件之间的兼容关系,需要通过面向对象的思维进行设计,而各个部件的具体制造过程则需要通过面向过程的思维进行实现。

1.2  理解类和对象

在理解面向对象思维方式的基础上,为了做到让程序对事物的描述与事物在现实中的形态保持一致,提出类和对象的概念。在Java程序中,类和对象是最基本、最重要的单元,类可以表示某类事物基本特征的抽象,而对象则表示具体的事物。为了让学生直观地理解类和对象,笔者引入了表格进行类比。在现实的生活场景中,表格无处不在,我们在思考和处理问题时,都会使用表格工具,表格工具实际上就是一种典型的面向对象思维工具[1]。以表1所示的学生信息表为例。

1.2.1  表格与类的成员变量

通过表格可以方便地统计所有学生的信息,将表中的列称之为字段,除“上课流程”外,每一个字段都是学生的一个基本属性,将这些字段的组合当作一个整体(称之为表头),就可以表示学生基本特征的抽象,这正好可以诠释类的概念。图1的上半部分为表头与类的成员变量的对应关系,从中可以看出学生信息表的表头和学生信息类的结构完全一样,表头的每个字段都对应类的一个成员变量。

1.2.2  表格与类的成员方法

每位学生除了基本的属性外,还都会有一些相同的动作,例如学生都要上课,而上课过程中也会有一些固定的动作:进教室→交手机→听讲→回答问题→完成作业。在表1中,“上课流程”可以体现该动作,由于学生的上课流程都是相同的动作,所以可以通过合并单元格的形式来统一表示。同时该过程也可以在类中进行定义,其定义方式如图1的下半部分所示。

1.2.3  表格与类的对象

除开表头,表体的每一行表示一个具体的學生信息,这也正好诠释了对象的概念。将表体的每一行和对象进行类比。图2为表体与类的对象的对应关系,从中可以看出学生信息表表体的每一行和学生信息类的每一个对象一一对应。通过图2所示的对应关系,对象中并没有体现上课流程的信息,这是因为上课流程是每一个对象都相同的标准过程,可以直接在类中体现,不需要在每一个对象中来体现。只有那些不同对象之间存在差异的属性,才需要在对象中体现。

1.2.4  表格中字段的约束

类在对事物基本特征进行抽象的同时,还可以对各个属性进行约束,例如对学生信息表的各个字段的约束如表2所示,通过表格中详细条件可以发现,除了可以对单个字段进行约束,还可以对多个字段进行联合约束。这些约束在类的封装时,可以通过构造方法或者Set方法来实现。

1.2.5  类和对象思维流程总结

根据前面的分析过程,类和对象的思维流程总结为如下几个步骤:

1)根据对实际场景分析,概括出场景中属性;

2)分析这些属性,哪些是不同对象存在差异的(定义为实物),哪些是所有对象都需要参与完成的(定义为虚物)。

3)列出各个属性可以取的值;

4)列出对所有属性的约束条件;

5)根据约束调整属性的取值组合。

1.3  类和对象思维训练

为了帮助学生巩固类和对象的思维,学生还需要进行相应的思维训练。类和对象的思维是一种逻辑思维流程,因此其不仅能解决理工科问题,同样也能解决文学问题,如作一首诗,也可以通过类和对象的思维来解决,将使用类和对象的思维流程来还原古诗《黄鹤楼送孟浩然之广陵》的创作过程。

1.3.1  概括场景中的属性

首先,了解一下作者当时所处的场景:农历三月,作者李白和好友孟浩然在武昌相见,几天之后孟浩然要坐船离开武昌,沿着长江向东去往广陵。因为李白和孟浩然感情深厚,李白前往江边的黄鹤楼送行,望着孟浩然所乘坐的船只渐渐远去,心中依依不舍。根据场景描述,整理出如下一些属性:

时间:农历三月

地点:出发地点(武昌)、到达地点(广陵)

人物:李白(作者)、孟浩然

环境:黄鹤楼、长江、船、天空

事件:送别

情怀:依依不舍、友情深厚

1.3.2  更新属性的虚实性

在所有列出的属性中,时间、地点、任务、环境和事件等对应的属性是属于客观存在的,不同对象基于这些属性的取值是存在差异的,所以这些属性是实物属性,可以类比为类中的成员变量。而情怀对应的属性,是作者在所处的场景之下的有感而发,可以说是所有其他属性共同作业的结果,所以将其定义为虚物属性,可以类比为类中的成员方法。

1.3.3  列出属性可取的值

各个属性的别称和雅称即为该属性可取的值,如表3所示。表中不同的属性值可以理解为表格中的表头,或者是类中的成员变量,而各个属性的别称则可以理解为表头中不同字段的取值,或者是成员的取值。将各个属性各取一个值进行组合,即为表体的一行,或者是类的一个对象,而每一个对象都是要作的诗的一个版本,于是得到第一个版本:

农历三月,好友孟浩然就要离开武昌了。

我在黄鹤楼上目送他沿江而下前往广陵。

望着遠去的船只慢慢变小,直到消失在视野中。

愿江水带着祝福,护送好友顺利到达目的地。

1.3.4  分析属性的取值约束

创作的V0.1版本和最终作品还有很大的差距,但是已经基本可以概括诗的场景了,我们将通过属性的取值约束来对V0.1版本进行优化。《黄鹤楼送孟浩然之广陵》原作属于七言绝句,而七言绝句的结构有如下一些约束:

1)全诗包含四句;

2)每句包含七个字;

3)满足平仄格式要求。

1.3.5  根据约束调整属性的取值组合

基于“四句”和“七字”的要求,我们可以在各个属性取值中进行替换和组合,优化后的版本:

朋友将别武昌城,阳春三月往广陵。

船只渐行终不见,但愿江水护君达。

基于平仄格式要求,同时诗人凭借其强大的文字和韵律功底,字斟句酌,得到了流传千古的版本:

故人西辞黄鹤楼,烟花三月下扬州。

孤帆远影碧空尽,唯见长江天际流。

2  结束语

教学效果的评价核心在于学生的学习效果和学习目标的完成情况,该教学设计从学习目标出发,通过学生生活中的实际场景案例,让学生形象地理解了面向过程与面向对象的区别和联系。通过与常用表格工具的类比,让学生理解类和对象的思维流程。同时,在枯燥的理工科思维流程中,引入文学场景进行思维训练,不仅提升了学生的课程参与效果,还可以帮助学生灵活应用所学知识,以最大限度帮助学生实现多维度的学习目标[4]。当然,该方法在实际教学过程中,仍然有许多需要改进的地方,笔者会根据学生的反馈和其他教师的研讨来继续优化教学设计。

3  参考文献

[1] 教你用表格思想,来理解Java中类与对象的区别[EB/

OL].(2020-07-18)[2021-09-18].https://www.bilibili.

com/video/BV14C4y1b74m.

[2] 农历月份别称[J].农家之友,2003(8):51.

[3] 杨青芝.论古代文学作品的细读和精讲:以《黄鹤楼送

孟浩然之广陵》为个案[J].邯郸学院学报,2018,28(1):

108-112.

[4] 孔祥蕾.重视反馈的逆向教学设计:以质谱课程的教学

为例[J].化学教育(中英文),2021,42(20):26-29.

猜你喜欢

面向对象教学设计
面向对象的计算机网络设计软件系统的开发
面向对象的数据交换协议研究与应用
提高课堂教学有效性的研究
面向对象Web开发编程语言的的评估方法
面向对象信息提取中影像分割参数的选择