换个角度看世界
——面向对象程序设计
【设计思路】
在所有信息技术教材中,本人认为唯独面向对象程序设计(ood)思想是最具革命性的一种思想。以抽象的眼光看世界,思维改变了,我们看世界的眼光与感悟也会根本性的改变。把复杂的世界变成相对独立的“类与对象”,通过coad/yourdon的思想将其分为类、属性、服务、结构与概念。让我们可以站在大师的视角看世界,品信息技术课程思想的精髓。
【教学内容】程序设计4.2面向程序设计
【教学目标】
※ 知识与技能目标:
(1)了解两大程序设计方式面向过程程序设计与面向对象程序设计;
(2)掌握面向对象四大特征抽象,封装,继承,多态;
(3)学会以抽象的眼光去分析问题。
※ 过程与方法目标:
(1)能通过设置的情境,对研究主题进行分析,以任务为导向,思考、讨论織解决问题。
(2)能利用小组合作学习方式,对面向对象的思想深入讨论与研究,选择并结合已有知识分析与表达出其思想的精髓。
※ 情感与价值目标:
(1)从人类发展与信息出发,到程序解决问题,再到程序设计思想,让学生充分感受到程序设计的魅力——程序即为idea;
(2)通过哲学、社会学的角度去审视思想对人类文明的影响,从而得出人为了解决问题而发明的面向对象的设计思想,现在却在不断的影响着我们现实的社会生活。
【教学重点】
抽象、封装
【教学难点】
抽象、封装的本质
【教学方法】讲解、演示、讨论、任务驱动
【教学时间】1课时
【教学手段】多媒体网络教室广播
【教学过程】
『情景导入』
师:千百年来,我们人与信息之间互动式发展一直充满着各种交结。从远古而言,人的诞生就是信息技术的开始。再到古代(ppt展示)烽火狼烟、飞鸽传书等等都是一个时代发展的产物。而如今,我们有了手机、量子通信等等。
师:随着技术的进步,我们的生活出现了两个世界——比特世界与现实世界。
问题:同学们,现实中的问题,我们是通过什么方式借助于比特世界的方法来解决了现实的问题呢?
学生答:程序
『揭题』
【任务一】
请同学以同桌为一小组,通过网络探讨程序设计的方式有哪些?或者我们可以通过面向( )的方式设计程序。
(学生活动)
【生答:一般有面向过程与面向对象方式】
师:本堂课我们一起来探讨一下面向对象的程序方式
【ppt展示课题】
『课堂新授』
第一环节:面向过程与面向对象对比
师: 面向过程的编程方式以顺次执行,面向对象编程即视为一切皆可化为对象。
【任务二】
请同学们,探讨面向对象的特征有哪些?以小组为单位,并选择好发言人。(学生活动)
学生小结后归结为:
抽象
学生互评后小结:抽象让我们可以关注于我们想关注的信息,去掉杂乱的内容。化复杂为简单,可以在信息加工时更多的时间关注本质的东西。
封装
【任务三】
请以小组为单位,讨论封装的意义在哪些?它的思想精要是什么?即为什么要封装。
学生互评后总结:封装帮助我们将复杂的杂碎的世界变为相对独立的个性,本质就是去关联,最小化描述其关联性(去耦合性),一类信息可以定义为类,类的实例为对象。类的属性表明自身的特征,类的方法为与外界的交互。
继承
【任务四】
请以小组为单位在空格处填入正确内容?
Vehicle 车 bike car boat train plane
Class vehicle () { }
Class bike vehicle() { }
学生互评后总结:继承在于最小化特征描述,表达抽象之间的关系属于is-a层次。
多态
学生互评后总结:动物会叫,猫是喵喵叫,狗是汪汪叫…..,同样一个动物叫却表现出不同的形态,即为多态。即抽象后一个行为在实例化后表现出不同的行为行态。
第二环节
『评价』以小组为单位,讨论你认为面向对象编程革命性的变革在哪里?
小结:让我们以对象的思维看世界的信息关联,抽象才是面向对象编程的精要。
【教学总结】
面向对象编程是一种思想,这种思想是帮助我们以全新的视角看世界。面向对象编程力争将乱碎的世界进行去耦合化、平面化(水平关联),也只有相对独立与相对稳定的抽象才可以借助于bit世界的数据结构与算法来处理与加工现实世界的信息。这种思想原本是用于人去解决问题的,当我们应用多了后,我们发现手机中有这种思想实现的程序,吃饭打卡中存在……这种思想也在反过来影响我们的生活方式与社会进程。这才是面向对象思想的强大之处。