当前位置:
文档之家› 面向对象程序设计方法PPT课件
面向对象程序设计方法PPT课件
1
面向对象程序设计
前言 第1章 C++语言概述 第2章 数据类型和表达式 第3章 预处理和语句 第4章 函数和作用域 第5章 类和对象(一) 第6章 类和对象(二) 第7章 继承性和派生类 第8章 多态性和虚函数 第9章 C++的I/O流库
2
地位与作用
是计算机科学与技术专业本科生的一门必 修课程
C++程序设计教程.钱能编著.清华大学出版 社.1999
12
第1章 C++语言概述
基本要求 了解:面向对象程序设计的基本思想及 基本概念;面向对象语言的分类和c++中 支持面向对象的特点;面向对象的软件 开发环境;visual c++开发工作台的主要 功能。
13
第1章 C++语言概述
1.1 C++的起源及特点 1.2 面向对象的方法 1.3 面向对象的程序设计语言C++ 1.4 C++程序的编辑、编译和运行 1.5 C++的词法及词法规则 1.6 C++程序的结构
5
面向过程的程序设计(以C语言为例)
1、自上而下(top-down)的设计方式:是一个 自顶向下,逐步求精的过程; 2、以main函数概括出整个应用程序需要做的 事情,而main函数由对一系列的子函数的调 用组成;
main中的每一个子函数都可以被精炼成更 小的函数。重复这个过程,即可完成一个过 程式的设计; 3、特征是以函数为中心,以函数作为划分程 序的基本单位,数据往往处于从属地位。
15
1.1.1 面向对象的由来和发展(续)
20世纪60年代中期,Simula 67语言 面向对象语言的鼻祖,提出了对象、类的概
念,并支持类的继承。
20世纪70年代中期,Ada语言 支持数据抽象类型的最重要的语言之一,但
不完全支持继承。
20世纪70年代中期,Smalltalk语言 最有影响的面向对象语言之一,丰富了面向
9
2.面向对象程序设计的基本概念
面向对象程序设计中的概念主要包括:对 象、类、数据抽象、继承、动态绑定、 数据封装、多态性、消息传递。通过这 些概念面向对象的思想得到了具体的体 现。
10
3.面向对象语言
一个语言要称为面向对象语言必须支持几个主要面向对 象的概念。根据支持程度的不同,通常所说的面向对 象语言可以分成两类:基于对象的语言,面向对象的 语言。 基于对象的语言仅支持类和对象, 如Ada、Alphard、 CLU、Euclid、MБайду номын сангаасdula等,它们不支持继承、多态。
而面向对象的语言支持的概念包括:类与对象、继 承、多态。例如Smalltalk、Java。
另外一些则是对现有的语言进行改造,增加面向对象 的特征演化而来的。如C++,由Ada发展而来的Ada 95 等,这些语言保留着对原有语言的兼容,并不是纯粹 的面向对象语言,。
11
教材及参考书目
C++语言基础教程(第二版).吕凤翥著.清华 大学出版社.2007 C++语言及其程序设计教程(修订版).张国 峰编著.电子工业出版社.1997 C++语言程序设计.郑莉等编著.清华大学出 版社.1999
对象的概念。
20世纪80年代中期后出现C++等多种面向对象16语言
52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96
ALGOL60
Ada
ALGOL68 CPL BCPL B
Pascal
C
Modula-2
Simula 67
6
过程式设计的优缺点:
优点:易于掌握与理解,符合人们的思维习惯; 缺点: 1、不能适应问题比较复杂,或者需求经常变化的情
况; 2、数据与操作分离开,对数据与操作的修改变得很
困难; 3、程序架构的依赖关系不合理:main函数依赖于子
函数,子函数又依赖于更小的子函数;
程序的核心逻辑依赖于外延的细节,一个细节上 的小改动,会引起一系列的变动。
FORTRAN
COBOL LISP
BASIC PL/1
C++ Smalltalk 80
Java
ANSI-BASIC QBASIC VB
FORTRAN77
FORTRAN90
PROLOG
17
1.1.2 C++的起源和特点
一、C++的起源 在C语言基础上为支持面向对象的程序设计研 制的一个通用目的的程序设计语言;
面向对象软件开发集抽象性、封装性、继承 性和多态性于一体,可以帮助人们开发出模 块化、数据抽象程度高的,体现信息隐蔽、 可复用、易修改、易扩充等特性的程序
3
内容简介
面向对象的基本思想
C++语言的基本概念、基本语法和编程方法 C++语言的面向对象特征
类与对象 继承与派生 多态性与虚函数
4
学习方法
多练习,掌握基本概念 多读程序,学习编程方法与技巧 多上机实践,加强动手能力 多剖析范例,积累编程经验
14
1.1.1 面向对象的由来和发展
机器语言(二进制码)
汇编语言
20世纪50年代中期,FORTRAN语言
在计算机语言发展史上具有划时代的意义, 引入了许多程序设计概念。如变量、数组、循环、 分支等。
20世纪50年代中期,Algol语言
提出块(Begin…End)思想,对数据进行保护,
是一种初级封装。
《路德维希·费尔巴哈和德国古典文学的终结》 恩格斯
7
什么是面向对象程序设计 ?
面向对象程序设计(Object-oriented programming,OOP),指一种程序设计 范型,同时也是一种程序开发的方法论。 它将对象作为程序的基本单元,将程序 和数据封装其中,以提高软件的重用性、 灵活性和扩展性。
8
面向对象程序设计 1.历史回顾
1967年挪威计算中心的Kisten Nygaard和 Ole Johan Dahl开发了Simula67语言,它 提供了比子程序更高一级的抽象和封装, 引入了数据抽象和类的概念,它被认为 是第一个面向对象语言。
由AT&T贝尔实验室Bjarne Stroustrup博士开发;
二、C++的特点
与C兼容,既保持了C的简洁、高效和接近汇 编的特点,又比C更安全,结构化程度更高;
既支持面向过程的程序设计,又支持面向对象
的程序设计;
注意其两面性
18
1.2 面向对象的方法
必须先研究事物,而后才能研究过程。必须 先知道一个事物是什么,而后才能觉察这个事物 中所发生的变化。