从C家族的发展探讨OOP教学研究.pdfVIP

  • 2
  • 0
  • 约5.28千字
  • 约 4页
  • 2018-01-11 发布于广东
  • 举报
从C家族的发展探讨OOP教学 陈滇英 韶关学院计算机科学系,广东韶关,512023 摘 要 回顾C语言家族的发展历程,探讨程序设计思想的演变、面向对象方法的实质及其教学。 关键词 c家族,PoP,00P 1 发展历程的回顾:从POP到00P是历史必然,也是弯路 C语言自诞生至今,已发屉成为一个庞大的家族,如图l所示。 田l c采攘 追溯C语言的源头,C家族的始祖是AI。GOI。。 AI.GOI,语言的另一重要分支则是Pnscal系列,如图 2所示。 C家族的发展历程凸现了编程语言从面向机器、 面向过程、面向对象的发展阶段;印证了编程语畜的 一般发展规律:对机器的依赖程度日趋减少,由机器 替代人完成的工作量则日趋增多,直至与机器无关。 对编程者而言,从对同题域产生正确的认识到用一 种编程语言将其正确描述的工作量日趋减少。然而, 田2C索壤的谭头 编程语言从POP发展到0()P既是历史的必然,也是弯路。 146 2设计思想的演变:00P与PoP设计思想截然不同 (1)程序设计的实质 程序设计即对问题的求解过程。分为两步进行: ①正确认识,理解所要解决的问题及相关事物,包括弄清事物的属性、行为及相互关系, 并提出解决问题的方法(即算法)。 ②正确描述算法,包括使用自然语言和缩程语言。 然而,人们进行思维活动依赖的自然语言与计算机能识别、理解并执行的编程语言两者之 间存在着很大的差别。 (2)面向过程程序设计(POP) 设计思想POP摆脱了具体机器的桎梏,把解题过程视为数据被加工的过程。POP包括两 个都份:设计数据结构(组织数据)、设计算法(设计对数据结构进行加工的过程)。 实现方法自上而下、逐步求精。按照所需实现的功能,先将软件分解为几个模块,然后逐 步分解模块,设计每个模块的算法,最终实现每个模块。在这里,追求的是高度功能性、相互独 立性,模块的数据处于实现功能的从属地位。 (3)面向对象翟序设计(()OP) 设计思想将程序设计重点从过程转为对象。一个对象是一个自足模块,包古数据和作用 于数据的方法。对象可以自己执行,也可以被来自其它对象的消息澈活。 宴现方法信息封装,将数据及其操作的方法封装在一起。将软件系统分解成一些离散对 象的集合,这些对象是客观实体的高度抽象,程序的运行完全依赖于事件的发生。 (4)00方法的实质 从POP到()()P,一下子就使问题变得简单了。因为直接面对问题域中客观存在的事物进 行软件开发.就是oO。而面向客观世界中的对象.原本就是人们习惯的思维方式和表达方式。 完全符台存在决定意识的哲学规律。从POP到00P,程序设计从过于专业化的方法、严格的 规则和复杂的技巧回归到人们认识和处理事物的简单方式,成功地实现了对问题域(pmbIem domain)到解题域(s01utiondomain)的自然过渡。因此,与其说()()P代表了一种新的思维方式· 不如说OOP体现了思维方式的返朴归真。 3面向对象(00)方法的形成:返朴归真 (1)0()方法大势所趋 编程语言的不断发展不但客观地反映了人们为缩小编程语言与自然语言这一差别所进行 的不懈努力,而且从本质上揭示了设计思想演变的深层原因。 00PI。的繁荣是00方法走向应用的重要标志。现在.面向对象已是大势所趋。 (2)()()方法的概念 0()方法的重要概念有:对象、类、继承、多态。 (3)()()方法的应用 00方法真正意义深远的且标是,它适合于解决分析与设计期间的复杂性并实现分析与 147 设计的复用。()()方法应用于软件工程.就是面向对象的软件工程(00SE),包括面向对象分析 维护(00SM)。 4 面向对象程序设计语言(00PL):C++、Java、C# Pas- cal、cI。()s(Conmlon

文档评论(0)

1亿VIP精品文档

相关文档