当前位置:文档之家› 面向对象程序设计基本概念

面向对象程序设计基本概念


整理ppt
4
10.1 面向对象语言和方法(3/6)
Smalltalk使面向对象方法为人们注目 面向对象语言被分为两大阵营
纯粹的面向对象语言:Smalltalk、Eiffel、 Java
混合型面向对象语言:C++和CLOS
基于对象的语言:Ada支持数据抽象类 型(包)、函数和运算符重载、多态性, 但不支持继承
10.2 类、对象和消息(6/10)
内容说明
类的定义可以包含数据和函数 关键字public后面定义了类的公有成员
类Reader有四个公有成员函数:Reader、 registration(注册)、borrowBook(借书) 和returnBook(还书)
关键字private后面定义的是类的私有成员 类Reader包含两个私有数据成员,姓名 (name)和借书证号(certifNo)
“张三”、“李四”都是对象,但“人”不 是
“人”不是具体的实体,是类,是抽象概念
类是某些对象共同特征的表示
类是创建对象的模板,对象是类的实例
整理ppt
10
10.2 类、对象和消息(3/10)
如何区分类和对象——以“人”和“张三”为 例
“人”描述了所有人(包括“张三” )都具有的属 性和行为,如有姓名、身高、体重,有鼻子、眼睛、 四肢,能交流、能思维等等
要对象zhang借书可以向对象zhang发 borrowBook消息
对象zhang则通过执行成员borrowBook 来响应消息
整理ppt
17
10.2 类、对象和消息(9/10)
C++将“向对象发消息”处理成“调用 对象的某个成员函数”
调用对象zhang的成员函数 borrowBook
private:
char *name;
//姓名
char *certifNo; //借书证号
};消息(5/10)
格式说明
类的定义以关键字class开头 class后面是类名(Reader) 类名后面花括号扩起来的部分是类的体 类的定义以分号结尾
整理ppt
14
整理ppt
8
10.2 类、对象和消息(1/10)
面向对象程序设计的一般步骤
分析实际问题,分辨并抽取其中的类和对象 设计相应的类,并根据这些类创建各种对象 协调这些对象完成程序功能(消息)
整理ppt
9
10.2 类、对象和消息(2/10)
万物皆对象
每个学生、每个班级、每个学校、每个国家、 每棵树、每本书、每部汽车——具体的实体
构和行为 继承——将多个类组织成层次结构,实现数
据和操作的共享
整理ppt
3
10.1 面向对象语言和方法(2/6)
七十年代末八十年代初——Smalltalk (第一个真正的集成开发环境)
包含类和继承,更严格的信息隐藏 带有一个巨大的、标准类库 第一个使用MVC(Model-View-
Controller)模式开发交互式应用软件
第10章 面向对象程序设计基本概念
整理ppt
1
讲授内容
面向对象程序设计方法的产生和发展 面向对象程序设计语言 面向对象程序设计的特点 类和对象的基本概念 消息
整理ppt
2
10.1 面向对象语言和方法(1/6)
六十年代末期——Simula 67(面向对 象语言的鼻祖)
包含了类和继承的概念 类——描述特性相同或相近的一组对象的结
整理ppt
12
例子:读者类Reader
class Reader {
public:
Reader();
//构造函数
int registration(char *name); //注册
int borrowBook(int bookNo); //借书
int returnBook(int bookNo); //还书
类(“人”)描述的概念是抽象的 “人”的姓名是什么? “人”的身高是什么?
对象(“张三”)是具体的 “张三”的姓名是“张三” “张三”的身高是185CM
整理ppt
11
10.2 类、对象和消息(4/10)
还有哪些类和对象的例子
教室——301-105教室 国家——中国 学校——国防科技大学 ……
整理ppt
6
10.1 面向对象语言和方法(5/6)
简单的例子——图书馆管理系统
包含reader(读者)对象、librarian(图书管理 员)对象、bookshelf(书架)对象等
所有的操作由各对象协作完成 借书
reader对象向librarian对象提出借书请求 librarian对象向bookshelf对象提出查书和取
// 声 明 Reader 类 的 数
Reader *rptr = &zhang; //声明Reader类型的指 针
Reader &ref = zha整n理gp;pt
// 声 明 Reader 类 型16的
10.2 类、对象和消息(8/10)
对象可以响应消息
对象zhang可以响应registration(注册)、 borrowBook(借书)和returnBook(还 书)三种消息
整理ppt
5
10.1 面向对象语言和方法(4/6)
结构化程序设计
软件的结构化分析、设计方法 工程化的概念的方法 但无法很好地支持越来越复杂、庞大的系统需求
面向对象方法
直接将问题的求解映射到问题本身上 有目的地将系统分解为模块 将问题分解为一系列的实体(对象) 方便设计,可维护性、可扩充性好
数据成员和成员函数都可以是私有的或公有的
整理ppt
15
10.2 类、对象和消息(7/10)
自定义类是一种新的自定义类型,可以声明变 量、指针、数组等
对象各自拥有自己的数据空间,互不干扰
Reader zhang; zhang
// 声 明 Reader 类 的 对 象
Reader reader[1000]; 组
书请求 然后逐步响应,逐步返回,共同完成借书操作
万物皆对象
整理ppt
7
10.1 面向对象语言和方法(6/6)
面向对象方法的一些特性
程序设计的重点在数据而不是函数 程序由对象组成 对象之间通过相互协作来完成功能 大多数对象的定义以数据为中心 函数与相关的数据紧密结合 数据可以被隐藏 很容易扩充新的数据和函数
相关主题