Version 3.0
C++概述第一章
2
目标
传统编程的缺点
对象

抽象
继承
封装
多态性
3
面向对象的方法 3-1
二十世纪七十年代发展起来的
结构化编程的解决方案
模拟人类的思维过程
将数据当作单个,对象,进行操作
4
面向对象的方法 3-2
现实世界中所有的事物都是对象
对象都具有某些特征,并展现某些行为
5
面向对象的方法 3-3
公司中的不同部门都是对象人事会计 销售
6
面向对象的语言
主要的面向对象语言
– C++
– Smalltalk
– Eiffel
– CLOS
– Java
7
传统编程的缺点
程序难以管理
数据修改存在问题
难以实现
8
面向对象的编程
按照实体在现实世界中的表现来实现
将活动和属性与每一实体相关联数据员工详细资料工资结算表票据凭证收据函数计算工资支付工资支付帐单记帐银行交易会计
9
面向对象的基本概念
对象
– 帮助理解现实世界
– 为计算机应用提供实践基础

– 描述一组相关对象
属性
– 对象的特征,也称为特性
函数
– 对象执行的活动
10
对象 4-1
具有确定边界,且与所要处理的问题相关的概念或事物
对象的用途
– 帮助理解现实世界
– 为计算机应用提供实践基础
11
对象 4-2
计算机用户环境中的元素
– 窗口
– 菜单
数据集合
– 机器零件清单
– 员工档案
用户自定义的数据类型
– 时间
– 角度
– 复数
12
对象 4-3
车型:法拉利颜色:红色年份,1995
活动发动停车加速
13
对象 4-4
对象有其自身的属性,而且可以进行某些活动属性活动停车发动加速倒车颜色重量年份发动机功率
14
类多边形对象 多边形类属性顶点边的颜色填充颜色方法绘制擦除移动抽象为
15
方法 1
抽象 3-1
考察特定应用程序相关问题的某些方面的过程
16
抽象 3-2
数据抽象是识别特定实体的属性和方法的过程属性方法类
17
抽象 3-3
抽象分为两类
– 数据抽象识别与特定的应用程序相关的属性
– 过程抽象将注意力集中在过程的参数和返回值,而不是实现
18
继承 2-1
继承重用现有类生成新类
可重用性通过继承来实现动物昆虫 哺乳动物 爬行动物人类 非人类
19
继承 2-2
超类是有其他类继承其行为的类
继承其他类的类称为子类动物
20
封装 2-1
信息隐藏的过程
有选择的数据隐藏
防止意外的数据破坏
更易于隔离和修复错误
21
封装 2-2
封装是允许有选择地隐藏类中的属性和方法的过程在类的外部不能访问在类的外部可以访问私有公有类
22
可重用性 2-1
程序可以分解为可重用的对象
现有类可以和附加功能一起使用形状
23
可重用性 2-2
猫科动物发出声音进食 /饮水捕食猎物喵喵叫喝牛奶捕食老鼠吼叫吃肉捕食大型猎物
24
多态性 2-1
同样的函数在不同的类上有不同的行为类 –
艺术家舞蹈家 诗人雕刻家对各个子类实现的方法将产生不同的结果
25
多态性 2-2
类,形状方法:
绘制移动初始化子类
26
关于类的更多内容
类包含
– 数据成员
– 函数
数据成员是通过函数访问的
对象是类的实例
类可以拥有其它类无法访问的部分
27
类定义
#include <iostream.h>
class Animal
{
public,int noOfLegs;
public,char name[10];
private,char gender;
public,void showData()
{
cout << "名称," << name;
cout << "腿的数目," << noOfLegs ;
cout << "性别," << gender;
}
};
28
C++简介
由 AT&T贝尔实验室的 Bjarne Stroustrup开发
从 C语言派生的
与 C语言是兼容的
使用编译时绑定
29
C++中的保留字
class
friend
virtual
inline
private
public
protected
const
this
new
delete
operator
30
一个简单的 C++程序
#include <iostream.h>
class person
{
public:
char name[16];
int age;
}; //类 person 结束
void main()
{
person myself;
cout << "\n 请输入您的姓名,";
cin >>myself.name;
cout << "\n 您的姓名是," << myself.name;
cout << "\n 请输入您的年龄,";
cin >> myself.age;
cout<< "\n 您的年龄是 " << myself.age << " 岁 ";
}
31
VC++集成开发环境使用上面的程序,演示 VC++集成开发环境的使用
32
总结
传统编程的缺点
对象

抽象
继承
封装
多态性