C++面向对象程序设计陈维兴 林小茶编著中国铁道出版社第 1讲 面向对象程序设计概述
教学目的与要求:
了解面向过程与面向对象程序设计语言的区别 。
掌握对象和类的基本概念及面向对象的特征 。
教学内容提要:
1,什么是面向对象程序设计;
2,对象与类;
3,为什么要使用面向对象程序设计;
4,面向对象程序设计语言;
教学重点:对象与类 。
教学难点,面向对象的特征 。
教学进度,P1~ P16
教学过程:
1.1 什么是面向对象程序设计
1.1.1 面向过程的程序设计面向过程的程序设计思想核心是功能分解 。
这种程序设计是,
1,数据结构与过程分离
2,可重用性差,维护代价高
1.1 什么是面向对象程序设计
1.1.2 面向对象的程序设计面向对象程序设计是一种新型的程序设计范型,这种范型的主要特征是,
程序 = 对象 + 消息
1、数据与定义在它上面的用户需要的操作构成一个整体 ——对象。
2、程序中的一切操作都是向对象发送消息来实现的。
3、类由继承关系产生相互联系。
1.2.1 面向对象程序设计的基本概念
1,对象在现实世界中,任何事物都是对象。现实世界中的对象可以表示为:属性 +行为。
具有以下特性,
每一个对象必须有一个名字以区别于其他对象 ;
用属性来描述它的某些特征 ;
有一组操作,每个操作决定对象的一种行为 ;
对象的操作可以分为两类,一类是自身所承受的操作,
一类是施加于其他对象的操作 。
1.2 对象与类
2,类在实现世界中,“类,是一组具有相同属性和行为的对象的抽象 。
类和对象之间的关系是抽象和具体的关系。类是多个对象进行综合抽象的结果,一个对象是类的一个实例。
类确定和划分的基本原则:寻求一个大系统中事物的共性,将具有共性的系统成分确定为一个类。
3,消息在面向对象程序设计中,一个对象向另一个对象发出的请求被称为,消息,。
消息的内容一般应包括:接受者的名字,请求的方法,
一个或多个参数 。
1.2.2 面向对象程序设计的基本特征面向对象系统最突出特点是封装和数据隐藏性、继承性、多态性。
多态性是指相同的消息为不同的对象接收到时,可能导致不同的动作。它使得属于同一类的不同对象可以按各自的需要对同一消息做出适当的响应。
在面向对象的程序设计中,封装是一种数据隐藏技术,它通过把一组数据和与数据有关的操作集合放在一起形成对象来实现。对象通过操作接口与外部发生联系,而内部的具体细节则被隐藏起来,对外是不可见的。
在面向对象的程序设计中,同样有着继承的机制,通过继承可以支持重用。通过继承,
程序可以在扩展现有类的基础上声明新类 ——
从原有类的基础上派生出来的,原有类称为基类,又叫父类。
1.3 为什么要使用面向对象程序设计
1.3.1 传统程序设计方法的局限性
(1) 传统程序设计开发软件的生产效率低下
(2) 传统程序设计难以应付日益庞大的信息量和多样的信息类型
(3) 传统的程序设计难以适应各种新环境
1.3.2 面向对象程序设计的主要优点
(1) 可提高程序的重用性
(2) 可控制程序的复杂性
(3) 可改善程序的可维护性
(4) 能够更好地支持大型程序设计
(5) 增强了计算机处理信息的范围
(6) 能很好地适应新的硬件环境
1.4 面向对象程序设计的语言
1.4.1 面向对象程序设计语言的发展概况一、面向对象程序设计语言应该具有的特征:
1、它支持对象的概念
2、要求对象属于类
3、提供继承机制第一代语言 对数学表达式有很强的运算能力
20世纪 50年代 FORTRAN 和 20世纪 60年代 Algol 60
如何有效的表达算法
20世纪 70年代 Pascal和 C
第二代语言引入了抽象数据类型的程序设计语言
Ada
第三代语言二,高级程序设计语言的发展面向对象程序设计语言
Simula67
Smalltalk-72,smalltalk-76,smalltalk-80
Object-C(1983)
C++(20世纪 80年代 )
Java( 20世纪 90年代)
第四代语言
1.4.2 几种典型的面向对象程序设计语言
1,Smalltalk语言
2,Simula语言
3,C++语言
4,Java语言小结
面向过程和面向对象程序设计的区别 。
类和对象的基本概念
面向对象程序设计的基本特征
作业
P16 1.2 1.5 1.6 1.9