5.1面向对象程序设计的基本思想

  • 格式:doc
  • 大小:67.00 KB
  • 文档页数:14

下载文档原格式

  / 14
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象程序设计的基本思想

一、教学目标

1、知识与技能

(1)认识面向对象程序设计的基本思想和面向对象思想的由来,并能够举例说明现实世界与面向对象系统之间的对应关系。

(2)认识面向对象程序设计的优越性并初步理解其实现的机制。

2、过程与方法

经历分析、调试解决同一问题的两种不同实现思想的程序,初步理解面向对象程序设计的优势及面向过程程序设计的缺陷。

3、情感态度和价值观

(1)关注传统结构化程序设计存在的问题。

(2)产生学习面向对象程序设计技术的愿望。

(3)关注到面向对象技术是当前程序设计的重要发展方向。

二、重点难点

1、教学重点

(1)传统结构化程序设计存在的问题

(2)面向对象程序设计所具有的优点。

2、教学难点

(1)面向对象思想的产生。

(2)传统结构化程序设计与面向对象程序设计的基本点比较。

(3)实现面向对象程序设计的基本机制。

三、教学环境

1、教材处理

教材以广东教育出版社出版的信息技术(选修一)《算法与程序设计》第五章第一节内容为结构框架,部分实例选取上海科教版的普通高中信息技术课程实验教材《算法与程序设计》,力争做到说理透彻,易于理解并提供较多的理论和实践操练以巩固所学内容。

教学方法采用采用讲解、任务驱动、实践和学生自主学习相结合的学习方法。

2、预备知识

学生已学完教材前四章内容,基本掌握了传统的面向过程结构化程序设计方法,有一定的程序设计基础,课前建议学生预习课文内容,初步了解本节教学内容与目标。

3、硬件要求

建议本节课在多媒体电脑教室中完成,最好有广播教学系统或投影仪,为拓展学习,学生机应允许上互联网。

4、所需软件:学生机要安装VB6.0或以上版本。

5、所需课时:1个课时,如无预习,课程将较为紧凑。

四、教学过程

导入:1、简要介绍本节课的教学目标:认识面向对象思想的由来及其基本思想,通过阅读或调试用两种不同思想实现解决同一问题的两段程序,认清面向对象程序设计的优点和结构化程序设计的缺陷。

2、问题导入。请同学们阅读本节课文最前面的引导文字段,一分钟后请同学发言。通过引导抛出结论:“结构化程序设计存在固有的缺陷:以功能为核心,数据和函数分开,使得后期维护难,安全性差等且不适合解决复杂问题。”

(一)面向对象思想的产生

1、面向对象技术是程序设计发展的必然趋势

通过前面的学习我们知道,程序设计语言发展到现在经历了机器语言、汇编语言再到高级语言。高级语言可分为 = 1 \* GB3 ①面向过程的程序设计语言= 2 \* GB3 ②面向对象的程序设计语言。高级语言的出现为计算机的应用开辟了广阔的前景。计算机能解决的问题从纯计算问题开始发展到现在能处理现实世界方方面面的问题。面向过程的程序设计方法以算法(即程序功能)为中心,把过程和数据作为互相对立的部分,即“程序=算法+数据结构”。因此当描述事物的数据结构发生了改变,所有与该数据结构相关的语句、过程和函数都要重新设计。要使数据与程序始终保持相容,已成为程序员开发的一个沉重负担。还有面向过程程序设计方法存在着安全性差、代码可重用性差等缺陷,随着软件开发规模的不断扩大,结构化的方法已不能驾驭软件开发的过程。人们从编程解决问题的实践中逐渐总结出:以接近人们思维方式来编程解决问题的面向对象技术代表了程序设计发展的方向。因为它能做到高效率、易维护、安全性强、代码可重用率高。

2、面向对象技术的思想

面向对象程序设计(Object Oriented Programming,简称OOP),是基于一种很自然和朴素的思想。计算机软件开发的过程就是人们使用各种计算机语言将现实世界映射到计算机世界的过程。计算机系统通常是在一定对象上执行一定行为的操作,要获得灵便和可重用的系统,最好的办法就是将软件结构建立在对象上,而不是行为之上,使计算机求解问题更加类似于人类的逻辑思维活动,让程序设计按照我们平时认识客观世界的方式进行。

客观世界是由物质与意识构成的。现实生活中,“一个学生张三”表达的是具体的事物,而“学生”是一种意识。物质表达具体的事物,意识是对客观存在的事物的一种抽象概括。在面向对象系统的求解空间中,有对象和类,若把现实事物直接映射到面向对象的软件系统求解空间,那么物质对应于对象,而意识对应于类(Class)。

客观世界中,学生是人们对所有具体的学生的抽象概括,在面向对象系统中可用学生类来表达,而学生张三是学生的一个具体的实例。在面向对象系统中可表示为一个对象,这个对象就是学生类中的一个实例,如下图所示。

面向对象更接近于计算机世界的物理实现;面向对象思想则符合人们的认识习惯。面向对象作为一种思想和编程语言,为程序从分析、设计到编码整个过程提供了一个完整的解决方案。

(二)面向对象程序设计

活动一:以下是处理学生成绩的两个程序,学生成绩1.vbp用面向过程的方法设计,学生成绩2.vbp用面向对象的方法编写,试比较它们。

1、开学生成绩1.vbp;阅读并运行该程序(见程序一)。

'程序一

Private Sub Form_click()

Dim i As Integer, n As Integer ‘n为学生数

Dim StName As String

Dim sc1 As Integer

Dim sc2 As Integer

Dim sc3 As Integer

Dim total As Single

Dim prompt As String

n = Val(InputBox("输入学生数"))

Print "姓名" & vbTab & "成绩1" & vbTab & "成绩2" & vbTab & "成绩3" & vbTab & "加权总分" & vbTab & "证书类型"

For i = 1 To n

StName = InputBox("输入第" & i & "位同学的姓名")

sc1 = Val(InputBox("输入该同学的软硬件基础成绩"))

sc2 = Val(InputBox("输入该同学的文字处理技巧成绩"))

sc3 = Val(InputBox("输入该同学的网络技术应用成绩"))

total = sc1 * 0.2 + sc2 * 0.5 + sc3 * 0.3

'输出表头

prompt = StName & vbTab & Str(sc1) & vbTab & Str(sc2) & vbTab & S tr(sc3) & vbTab & Str(total) & vbTab

If (sc1 >= 85 And sc2 >= 85 And sc3 >= 85) Then

Print prompt & "优秀"

Else