`
universsky
  • 浏览: 99406 次
文章分类
社区版块
存档分类
最新评论

结构化程序设计 & 面向对象程序设计

 
阅读更多

1. 结构化程序设计(C/Ada/Basic

作为最早提出的程序设计方法,其核心是将程序模块化。

2. 面向对象程序设计(JavaC++

其以“对象”为中心进行分析和设计,使这些对象形成了解决目标问题的基本构件

程序设计方法

特点

优点

结构化程序设计

1. 采用“自顶而下,逐步求精”的设计思想,即从问题的总体目标开始,层层分解和细化。

2.独立功能,单出、入口”的模块仅用三种(顺序、分支、循环)基本控制结构的编码原则。此结构减少了模块的相互联系使模块可作为插件或积木使用,降低程序的复杂性,提高了程序的可靠性。

相比于非结构化程序有较好的可靠性、易验证性和可修改性;相比于非结构化程序设计方法的设计思路,模块层次分明,便于分工开发和协调,且程序可读性强

面向对象程序设计

1. 采用自低向上的方法,先将问题空间划分为一系列对象的集合,再将对象集合进行分类抽象,一些具有相同属性行为的对象被抽象为一个类,采用继承来建立这些类之间的联系,形成结构层次。(继承性

2. 采用对象为中心的设计方式,再现了人类认识事物的思维方式和解决问题的工作方式。

3. 以对象为唯一的语义模型整个软件任务是通过各对象(类)之间相互传递消息的手段协同完成的。因此,能尽量逼真地模拟客观世界及其事物。

4. 由于对象和类实现了模块化,类继承实现了抽象对象,以及任一对象的内部状态和功能的实现的细节对外都是不可见的,因此很好地实现了信息隐藏。由此建立在类及其继承性基础上的重用能力可应付复杂的大型的软件开发。(封装性

使软件具有良好的体系结构、便于软件构件化、软件复用和良好的扩展性和维护性,抽象程度搞,因而具有较高的生产效率。

总结:结构化设计方法的设计思想清晰,易学易用,模块层次分明,便于分工开发和调试,编写出来的程序可读性强;面向对象设计方法具有自下而上的特性,允许开发者从问题的局部开始,在开发过程中逐步加深对系统的理解,其以数据为中心,以类作为表现数据的工具,是划分程序的基本单位。而函数在面向对象设计中成为类的接口。

C++概述

C++是一门混合型的语言,既支持传统的结构化程序设计,又支持面向对象的程序设计。其是在C语言的基础上增加了面向对象程序设计的要素而发展起来的。其创作灵感来源于BCPL语言(C语言的来源之一)和Simula67语言(以面向对象为核心的语言),同时还借鉴了Algol68C++标准可分为两部分:C++语言本身和C++标准库。

*模板

模板是根据类型的参数来产生函数和类的机制,有时也称模板为“参数化的类型”。使用模板,可以设计一个对于许多类型数据进行操作的类,而不需要为每个类型的数据建立一个单独的类。标准模板库STL和微软的活动模板库ATL都基于C++语言扩展。

*标准模板库STL

STL是数据结构和算法的一个框架,是C++标准库实现容器和算法的部分。数据结构包括矢量、列表和映射等,算法包括这些数据结构的查找、复制和排序等。

程序设计

程序设计是指设计、编制、调试程序的方法和过程。

C++语言的历史

斯特劳.施特鲁普: BJARNE STROUSTRUP

C++语言历史

发明人或组织

C++的关系

1980C++诞生,始称“带类的C

贝尔实验室的斯特劳.施特鲁普博士及其同事

C语言(kEN & DMR)的基础上,从Simula67中引入面向对象的特征,开发出C++

1983,正式命名为C++

瑞克.格内斯特

提出C++作为本语言的名字

1989,推出AT&TC++2.0版

斯特劳.施特鲁普博士及其同事

C++引进了运算符重载、引用、虚函数等许多特性,使之更加精练

1998,发布C++的国际标准ISO/IEC:98-14882

美国国家标准化协会ANSI和国际标准化组织ISO

C++进行标准化工作

C++语言的特点

1. C++C语言的超集,因此其能与C语言兼容

2. C++支持面向对象的程序设计

(1) 封装性即将一组数据和这组数据有关的操作集合组装在一起,形成对象。

C++中通过建立类这个数据类型来支持封装性

(2) 继承性即一个类具有另一个类的属性和行为。这个类具有另一个类的全部特征,又具有自身的独有特性。C++中将其称为派生类(子类),而将其所继承的类称为基类(父类)。

(3) 多态性即不同的对象调用相同名称的函数,并可导致完全不同的行为。

C++中的多态性通过使用函数重载、模板和虚函数等概念来实现

3. C++模板是对其的一种扩展

C++的优点(相对于C语言)

1. C语言兼容,既支持面向对象的程序设计,也支持结构化的程序设计。

2. 修补了C语言中的一些漏洞,提供更好的类型检查和编译时的分析。

3. 生成目标程序质量高,程序执行效率高。

4. 提供了异常处理机制,简化了程序出错处理。利用throwtrycatch关键字,使出错处理程序不必与正常的代码紧密结合,提高了程序的可靠性与可读性。

5. 函数可以重载。重载允许相同的函数名具有不同参数表,系统根据参数的个数和类型匹配相应的函数。

6. 提供了模板机制。模板包括类模板和函数模板两种,它们将数据类型作为参数。对于具体数据类型,编译器自动生成模板类或模板函数,它提供了源代码复用的一种手段。

7. 支持面向对象的程序设计方法,特别适合于中型和大型的软件开发项目。从开发时间、费用到软件的重用性、可扩充性、可维护性和可靠性等方面,C++均具有很大的优越性。

分享到:
评论

相关推荐

    浅谈结构化程序设计与面向对象程序设计.docx

    "浅谈结构化程序设计与面向对象程序设计" 本文档是对结构化程序设计和面向对象程序设计的比较和分析。结构化程序设计是将程序分解成单一处理功能的模块,通过参数传递调用相应模块以实现程序的功能。结构化程序设计...

    结构化程序设计与面向对象程序设计的简述.docx

    结构化程序设计与面向对象程序设计是两种不同的编程范式,各有其特点和优缺点。 结构化程序设计,源于20世纪70年代,强调程序的逻辑结构清晰、可读性强,以降低程序的复杂性和提高可维护性。它遵循自顶向下、逐步...

    结构化程序设计方法与面向对象程序设计方法之比较.

    结构化程序设计方法与面向对象程序设计方法是两种在软件工程领域内被广泛采用的编程范式,它们各自拥有独特的设计理念、实现方式以及适用场景。接下来,我们将深入探讨这两种方法的基本思想、概念术语、编程语言、...

    结构化与面向对象程序设计基础优秀文档.ppt

    本资源是关于结构化程序设计和面向对象程序设计的基础知识,涵盖了程序设计的基本概念、算法、结构化程序设计方法、面向对象程序设计的基础等内容。 1. 程序设计的基本概念 程序是一组能够完成特定任务的命令序列...

    Visual C++面向对象与可视化程序设计课件

    《Visual C++面向对象与可视化程序设计》是一门深入探讨C++编程语言,特别是其在可视化应用程序开发中的应用的课程。这门课件涵盖了面向对象编程的基础理论,以及使用Microsoft的Visual C++集成开发环境(IDE)进行...

    面向对象程序设计—图书管理系统设计.pdf

    "面向对象程序设计—图书管理系统设计" 面向对象程序设计是当前软件开发的主流技术之一,其应用范围非常广泛,涵盖了各个行业和领域。图书管理系统是图书馆中的一种重要管理系统,它负责管理图书的存储、借阅、归还...

    面向对象程序设计,vc++ 课后习题答案

    面向对象程序设计是一种重要的编程范式,它基于“对象”的概念,将数据和操作数据的方法封装在一起,以实现代码的模块化和复用性。在VC++(Visual C++)环境中,面向对象程序设计得以充分利用,因为它支持C++语言,...

    c++面向对象程序设计第三版谭浩强教学大纲.pdf

    "C++面向对象程序设计第三版谭浩强教学大纲.pdf" 本资源摘要信息涵盖了C++面向对象程序设计的基本概念、数据存储、程序设计初步、函数、数组、指针、用户自定义数据类型、类和对象的程序设计等方面的知识点。 第一...

    结构化程序设计风格.pdf

    结构化程序设计风格是软件开发领域的一个里程碑,它由著名计算机科学家E.W....在现代软件工程中,虽然面向对象和函数式编程等新范式逐渐流行,但结构化程序设计的基本原则仍然被广泛采用,并作为良好编程实践的基础。

    《面向对象程序设计JAVA语言程序设计》

    * 传统的结构化程序设计方法 * Java 语言的设计原则和编程风格 7. Java 语言的多线程和并发: * Java 语言支持多线程和并发编程 * Java 语言提供了多种多线程编程方式,如 Thread 类和 Runnable 接口 8. Java 语言...

    C++面向对象程序设计 经典例题 附练习题

    本资料包“C++面向对象程序设计 经典例题 附练习题”显然是为了帮助学生深入理解C++的面向对象特性,并通过实例和练习来巩固学习成果。 在C++中,面向对象的主要概念包括: 1. **类**:类是创建对象的模板或蓝图,...

    面向对象的程序设计语言——C++课件 第二版(陈志泊 )

    首先,课程内容涵盖结构化程序设计与面向对象程序设计的对比。结构化程序设计(Structured Programming - SP)采用自顶向下、分而治之的策略,将程序分解为可独立编程的子模块。这种方法的优点在于清晰的调用界面和...

    桂林电子科技大学《面向对象程序设计》实验教学大纲

    学生需要了解程序设计方法和基本数据结构,如结构化程序设计、面向对象程序设计、链表、栈、队列等。 4. 实验环境和工具的使用 学生需要了解实验环境和工具的使用,如 Visual C++ 开发环境、NetBean 5.5 等。 5. ...

    C++面向对象程序设计课后答案

    面向对象程序设计将数据和操作封装在一起,程序是由一个个对象组成的,对象之间通过接口进行通信,能够较好地支持程序代码的复用。 2.面向对象程序设计语言有四个特征: ⑴ 抽象性 ---- 许多实体的共性产生类。 ⑵ ...

    Visual C++面向对象与可视化程序设计 黄维通 课后习题答案程序及debug

    《Visual C++面向对象与可视化程序设计》是黄维通教授编著的一本经典教材,主要介绍了使用Microsoft的Visual C++编程环境进行面向对象程序设计和可视化应用开发的基础知识。这本书深入浅出地讲解了C++语言的核心概念...

    C++面向对象程序设计教程——课件PPT

    在“C++面向对象程序设计教程——课件PPT”中,我们可以深入学习这一主题,由陈维兴和林小茶编著,清华大学出版社出版。这套教程通过一系列的PPT章节,详细讲解了C++面向对象编程的关键概念。 首先,第1章“面向...

    面向对象结构分析程序设计_吴晓涵1,面向对象程序设计pdf,C,C++源码.zip

    《面向对象程序设计pdf》可能是吴晓涵教授讲解OOP理论和实践的详细教材,配合C/C++源码,读者可以深入理解OOP的实际应用和编程技巧。 通过阅读这本书和分析提供的源码,你将能够: 1. 学习如何定义和使用类,创建...

    VC++面向对象与可视化程序设计

    《VC++面向对象与可视化程序设计》是一本深入探讨如何使用Microsoft Visual C++进行面向对象编程和可视化应用程序开发的专业书籍。书中的内容涵盖了从基础概念到高级技术,旨在帮助读者全面掌握VC++在这些领域的应用...

Global site tag (gtag.js) - Google Analytics