C面向对象课程序设计课件第一章概述ppt.ppt

上传人:飞****2 文档编号:92560643 上传时间:2023-06-08 格式:PPT 页数:60 大小:917.51KB
返回 下载 相关 举报
C面向对象课程序设计课件第一章概述ppt.ppt_第1页
第1页 / 共60页
C面向对象课程序设计课件第一章概述ppt.ppt_第2页
第2页 / 共60页
点击查看更多>>
资源描述

《C面向对象课程序设计课件第一章概述ppt.ppt》由会员分享,可在线阅读,更多相关《C面向对象课程序设计课件第一章概述ppt.ppt(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、面向对象技术与面向对象技术与C+计算机学院Object Oriented教教材材:C+C+面向对象程序设计,陈维兴,中国铁道出版社面向对象程序设计,陈维兴,中国铁道出版社面向对象程序设计,陈维兴,中国铁道出版社面向对象程序设计,陈维兴,中国铁道出版社Object Oriented参考书面向对象的理论与面向对象的理论与面向对象的理论与面向对象的理论与C+C+实践实践实践实践 ,王燕,清华大学出,王燕,清华大学出,王燕,清华大学出,王燕,清华大学出版社版社版社版社Visual C+Visual C+实用教程实用教程实用教程实用教程 ,郑阿奇郑阿奇郑阿奇郑阿奇 ,电子工业出版社电子工业出版社电子工业

2、出版社电子工业出版社Visual C+6.0Visual C+6.0技术内幕,技术内幕,技术内幕,技术内幕,David David J.KruglinskiJ.Kruglinski著,著,著,著,北京希望电子出版社北京希望电子出版社北京希望电子出版社北京希望电子出版社Object Oriented课程性质与设置目的课程性质与设置目的性质性质计算机专业的专业基础课计算机专业的专业基础课学习目标:学习目标:学习目标:学习目标:掌握面向对象程序设计的基本概念及基本思想;掌握面向对象程序设计的基本概念及基本思想;掌握面向对象程序设计的基本概念及基本思想;掌握面向对象程序设计的基本概念及基本思想;掌握类

3、、对象的概念及掌握类、对象的概念及掌握类、对象的概念及掌握类、对象的概念及C+C+语言实现方法;语言实现方法;语言实现方法;语言实现方法;掌握继承的概念及掌握继承的概念及掌握继承的概念及掌握继承的概念及C+C+语言实现方法;语言实现方法;语言实现方法;语言实现方法;掌握多态的概念及掌握多态的概念及掌握多态的概念及掌握多态的概念及C+C+语言实现方法;语言实现方法;语言实现方法;语言实现方法;掌握掌握掌握掌握C+C+语言模板、流类库的应用;语言模板、流类库的应用;语言模板、流类库的应用;语言模板、流类库的应用;初步建立计算机专业必备的面向对象程序设计初步建立计算机专业必备的面向对象程序设计初步建

4、立计算机专业必备的面向对象程序设计初步建立计算机专业必备的面向对象程序设计思想。思想。思想。思想。Object Oriented理论学习理论学习理论学习理论学习理解、掌握基本概念,多看例题理解、掌握基本概念,多看例题理解、掌握基本概念,多看例题理解、掌握基本概念,多看例题理论指导实践,实践提高认识理论指导实践,实践提高认识理论指导实践,实践提高认识理论指导实践,实践提高认识实践学习实践学习实践学习实践学习勤思考,多动手勤思考,多动手勤思考,多动手勤思考,多动手重视上机实习环境重视上机实习环境重视上机实习环境重视上机实习环境坚持自学坚持自学坚持自学坚持自学课程学习方法课程学习方法Object O

5、riented成绩评定成绩评定 总成绩总成绩总成绩总成绩=平时成绩平时成绩平时成绩平时成绩(10%)+(10%)+实验实验实验实验(20%)+(20%)+期末考试成绩期末考试成绩期末考试成绩期末考试成绩(70%)(70%)平时成绩包括考勤平时成绩包括考勤平时成绩包括考勤平时成绩包括考勤,作业作业作业作业,课堂小测验等课堂小测验等课堂小测验等课堂小测验等实验成绩根据考勤及实验内容完成的情况确定实验成绩根据考勤及实验内容完成的情况确定实验成绩根据考勤及实验内容完成的情况确定实验成绩根据考勤及实验内容完成的情况确定期末考试指学期末学校安排的正式考试期末考试指学期末学校安排的正式考试期末考试指学期末学

6、校安排的正式考试期末考试指学期末学校安排的正式考试Object Oriented 第第1章章 面向对象程序设计概述面向对象程序设计概述Object Oriented 面向对象概述面向对象概述 是一种全新的软件工程技术;是一种全新的软件工程技术;是一种全新的软件工程技术;是一种全新的软件工程技术;程序设计方法更符合人类的思维方式,更直接地描程序设计方法更符合人类的思维方式,更直接地描程序设计方法更符合人类的思维方式,更直接地描程序设计方法更符合人类的思维方式,更直接地描述客观世界;述客观世界;述客观世界;述客观世界;通过提高代码的可重用性、可扩充性和程序自动生通过提高代码的可重用性、可扩充性和程

7、序自动生通过提高代码的可重用性、可扩充性和程序自动生通过提高代码的可重用性、可扩充性和程序自动生成功能来提高编程效率,大大减少软件维护的开销;成功能来提高编程效率,大大减少软件维护的开销;成功能来提高编程效率,大大减少软件维护的开销;成功能来提高编程效率,大大减少软件维护的开销;面向对象技术已经被越来越多的软件技术人员所接面向对象技术已经被越来越多的软件技术人员所接面向对象技术已经被越来越多的软件技术人员所接面向对象技术已经被越来越多的软件技术人员所接受和采用。受和采用。受和采用。受和采用。Object Oriented 1.1 面向对象程序设计概述面向对象程序设计概述OO思想的来源思想的来源

8、需要:人们希望直接与计算机进行交互,而需要:人们希望直接与计算机进行交互,而不必进行专门的学习和长时间训练。不必进行专门的学习和长时间训练。目标:软件系统对现实世界的直接模拟,尽目标:软件系统对现实世界的直接模拟,尽量实现世界中的事务直接映射到软件系统的量实现世界中的事务直接映射到软件系统的接空间。它希望用户用最小的气力,最大程接空间。它希望用户用最小的气力,最大程度地利用软件系统来解决问题度地利用软件系统来解决问题。Object Oriented现实世界物质意识现实世界物质意识OO世界具体事务抽象概念世界具体事务抽象概念Object Oriented一切都是对象一切都是对象 例题:编写一个开

9、发票程序,需要对发票的名细栏进行计算。例题:编写一个开发票程序,需要对发票的名细栏进行计算。例题:编写一个开发票程序,需要对发票的名细栏进行计算。例题:编写一个开发票程序,需要对发票的名细栏进行计算。编号编号编号编号名称名称名称名称规格规格规格规格单位单位单位单位数量数量数量数量单价单价单价单价金额金额金额金额合计合计合计合计面向对象思路:面向对象思路:面向对象思路:面向对象思路:对象对象对象对象 一组属性一组属性一组属性一组属性 操作:发票总计操作:发票总计操作:发票总计操作:发票总计 非面向对象思路:非面向对象思路:非面向对象思路:非面向对象思路:定义数据结构定义数据结构定义数据结构定义数

10、据结构 定义函数定义函数定义函数定义函数Object Oriented 1.1 面向对象程序设计概述面向对象程序设计概述从程序设计方法的角度看,面向对象是一种新的程从程序设计方法的角度看,面向对象是一种新的程从程序设计方法的角度看,面向对象是一种新的程从程序设计方法的角度看,面向对象是一种新的程 序设计序设计序设计序设计范型范型范型范型(paradigm)(paradigm),其基本思想是使用对象、,其基本思想是使用对象、,其基本思想是使用对象、,其基本思想是使用对象、类、继承、封类、继承、封类、继承、封类、继承、封装、聚合、关联、消息、多态性等基本概念来进行程序设装、聚合、关联、消息、多态性

11、等基本概念来进行程序设装、聚合、关联、消息、多态性等基本概念来进行程序设装、聚合、关联、消息、多态性等基本概念来进行程序设计。计。计。计。自八十年代以来,面向对象方法已深入到计算机软件领域自八十年代以来,面向对象方法已深入到计算机软件领域自八十年代以来,面向对象方法已深入到计算机软件领域自八十年代以来,面向对象方法已深入到计算机软件领域 的几乎所有分支。它不仅是一些具体的软件开发技术与策的几乎所有分支。它不仅是一些具体的软件开发技术与策的几乎所有分支。它不仅是一些具体的软件开发技术与策的几乎所有分支。它不仅是一些具体的软件开发技术与策 略,而且是一整套关于如何看待软件系统与现实世界的关略,而且

12、是一整套关于如何看待软件系统与现实世界的关略,而且是一整套关于如何看待软件系统与现实世界的关略,而且是一整套关于如何看待软件系统与现实世界的关 系,用什么观点来研究问题并进行问题求解,以及如何进系,用什么观点来研究问题并进行问题求解,以及如何进系,用什么观点来研究问题并进行问题求解,以及如何进系,用什么观点来研究问题并进行问题求解,以及如何进 行系统构造的软件方法学。从这个意义上讲:行系统构造的软件方法学。从这个意义上讲:行系统构造的软件方法学。从这个意义上讲:行系统构造的软件方法学。从这个意义上讲:面向对象方法是一种运用对象、类、继承、封装面向对象方法是一种运用对象、类、继承、封装面向对象方

13、法是一种运用对象、类、继承、封装面向对象方法是一种运用对象、类、继承、封装 、聚合、聚合、聚合、聚合、关联、消息、多态性等概念来构造系统的软件开发方法。关联、消息、多态性等概念来构造系统的软件开发方法。关联、消息、多态性等概念来构造系统的软件开发方法。关联、消息、多态性等概念来构造系统的软件开发方法。Object Oriented 1.1 面向对象程序设计概述面向对象程序设计概述程序设计方法的演进程序设计方法的演进 1 1、程序设计语言:机器语言、程序设计语言:机器语言、程序设计语言:机器语言、程序设计语言:机器语言汇编语言汇编语言汇编语言汇编语言高级语言高级语言高级语言高级语言(面向过程的高

14、级语言(面向过程的高级语言(面向过程的高级语言(面向过程的高级语言面向对象的编程语言面向对象的编程语言面向对象的编程语言面向对象的编程语言面面面面向对象的可视化编程语言)。向对象的可视化编程语言)。向对象的可视化编程语言)。向对象的可视化编程语言)。2 2、程序设计方法:程序设计的自然描述、程序设计方法:程序设计的自然描述、程序设计方法:程序设计的自然描述、程序设计方法:程序设计的自然描述结构化程结构化程结构化程结构化程序设计(面向过程的程序设计方法)序设计(面向过程的程序设计方法)序设计(面向过程的程序设计方法)序设计(面向过程的程序设计方法)面向对象的面向对象的面向对象的面向对象的程序设计

15、方法程序设计方法程序设计方法程序设计方法面向对象的可视化编程方法。面向对象的可视化编程方法。面向对象的可视化编程方法。面向对象的可视化编程方法。Object Oriented面向过程Object OrientedObject Oriented 1.1 面向对象程序设计概述面向对象程序设计概述3、结构化(面向过程)程序设计方法与面向、结构化(面向过程)程序设计方法与面向对象程序设计方法的关系。对象程序设计方法的关系。观点观点观点观点1 1:面向过程的程序设计方法可以作为面向对:面向过程的程序设计方法可以作为面向对:面向过程的程序设计方法可以作为面向对:面向过程的程序设计方法可以作为面向对象程序设

16、计方法的基础,学习面向对象的程序设计象程序设计方法的基础,学习面向对象的程序设计象程序设计方法的基础,学习面向对象的程序设计象程序设计方法的基础,学习面向对象的程序设计应具备面向过程的程序设计方法方面的知识。应具备面向过程的程序设计方法方面的知识。应具备面向过程的程序设计方法方面的知识。应具备面向过程的程序设计方法方面的知识。观点观点观点观点2 2:面向对象的程序设计方法与面向过程的程:面向对象的程序设计方法与面向过程的程:面向对象的程序设计方法与面向过程的程:面向对象的程序设计方法与面向过程的程序设计方法在思维方法上与面向过程程序设计方法序设计方法在思维方法上与面向过程程序设计方法序设计方法

17、在思维方法上与面向过程程序设计方法序设计方法在思维方法上与面向过程程序设计方法相背离,是独立的程序设计体系。相背离,是独立的程序设计体系。相背离,是独立的程序设计体系。相背离,是独立的程序设计体系。Object Oriented1.1 面向对象程序设计概述面向对象程序设计概述 面向过程程序设计的特点面向过程程序设计的特点面向过程程序设计思想的核心:功能分解面向过程程序设计思想的核心:功能分解面向过程程序设计思想的核心:功能分解面向过程程序设计思想的核心:功能分解面向过程程序设计思想的主要特点:程序与数据相面向过程程序设计思想的主要特点:程序与数据相面向过程程序设计思想的主要特点:程序与数据相面

18、向过程程序设计思想的主要特点:程序与数据相分离。即:分离。即:分离。即:分离。即:程序程序程序程序=算法算法算法算法+数据结构数据结构数据结构数据结构面向过程程序设计思想的主要缺点:程序代码的可面向过程程序设计思想的主要缺点:程序代码的可面向过程程序设计思想的主要缺点:程序代码的可面向过程程序设计思想的主要缺点:程序代码的可重用性差,维护代价高。重用性差,维护代价高。重用性差,维护代价高。重用性差,维护代价高。Object Oriented1.1 面向对象程序设计概述面向对象程序设计概述 面向对象程序设计的特点面向对象程序设计的特点 面向对象程序设计将数据及数据的操作(算法)面向对象程序设计将

19、数据及数据的操作(算法)面向对象程序设计将数据及数据的操作(算法)面向对象程序设计将数据及数据的操作(算法)当成一个整体。即:当成一个整体。即:当成一个整体。即:当成一个整体。即:程序程序程序程序=(算法(算法(算法(算法+数据结构)数据结构)数据结构)数据结构)其主要思想:面向对象程序设计,是把一些具有相其主要思想:面向对象程序设计,是把一些具有相其主要思想:面向对象程序设计,是把一些具有相其主要思想:面向对象程序设计,是把一些具有相同数据特性的实例抽象成为一个类,通过对类的定同数据特性的实例抽象成为一个类,通过对类的定同数据特性的实例抽象成为一个类,通过对类的定同数据特性的实例抽象成为一个

20、类,通过对类的定义和类的使用(即对象的使用)实现对实例的使用义和类的使用(即对象的使用)实现对实例的使用义和类的使用(即对象的使用)实现对实例的使用义和类的使用(即对象的使用)实现对实例的使用的的的的面向对象程序设计是一种新的程序设计范型。面向对象程序设计是一种新的程序设计范型。面向对象程序设计是一种新的程序设计范型。面向对象程序设计是一种新的程序设计范型。Object Oriented1.1 面向对象程序设计概述面向对象程序设计概述特点:特点:特点:特点:程序由类的定义及类的使用两部分组成,通常程序由类的定义及类的使用两部分组成,通常程序由类的定义及类的使用两部分组成,通常程序由类的定义及类

21、的使用两部分组成,通常在主程序定义各对象并规定对象间传递消息的在主程序定义各对象并规定对象间传递消息的在主程序定义各对象并规定对象间传递消息的在主程序定义各对象并规定对象间传递消息的规律;规律;规律;规律;程序中的一切操作都是通过发送消息实现的,程序中的一切操作都是通过发送消息实现的,程序中的一切操作都是通过发送消息实现的,程序中的一切操作都是通过发送消息实现的,对象接收消息后,启动相应的消息完成相应的对象接收消息后,启动相应的消息完成相应的对象接收消息后,启动相应的消息完成相应的对象接收消息后,启动相应的消息完成相应的操作操作操作操作对象内、对象间采用消息传递机制;对象内、对象间采用消息传递

22、机制;对象内、对象间采用消息传递机制;对象内、对象间采用消息传递机制;面向对象的程序设计最主要的优点:软件的可重用面向对象的程序设计最主要的优点:软件的可重用面向对象的程序设计最主要的优点:软件的可重用面向对象的程序设计最主要的优点:软件的可重用性性性性面向对象的程序设计最重要的的概念:类与对象。面向对象的程序设计最重要的的概念:类与对象。面向对象的程序设计最重要的的概念:类与对象。面向对象的程序设计最重要的的概念:类与对象。Object Oriented对象对象对象对象名名名名属属属属性性性性方法方法方法方法(操作操作操作操作)对象对象对象对象名名名名属属属属性性性性方法方法方法方法(操作操

23、作操作操作)张三张三张三张三性别性别性别性别:男男男男年龄年龄年龄年龄:21:21学历学历学历学历:本科本科本科本科专业:专业:专业:专业:计算机计算机计算机计算机 吃饭吃饭吃饭吃饭上课上课上课上课实验实验实验实验锻练锻练锻练锻练李四李四李四李四性别性别性别性别:女女女女年龄年龄年龄年龄:20:20学历学历学历学历:本科本科本科本科专业:专业:专业:专业:计算机计算机计算机计算机 吃饭吃饭吃饭吃饭上课上课上课上课实验实验实验实验锻练锻练锻练锻练1.2 面向对象程序设计的基本概念面向对象程序设计的基本概念一、对象一、对象 对象的概念对象的概念对象的概念对象的概念 对象是我们认识世界的一些基本单元

24、(人或物等)对象是我们认识世界的一些基本单元(人或物等)对象是我们认识世界的一些基本单元(人或物等)对象是我们认识世界的一些基本单元(人或物等)例例例例【1.11.1】观察学生对象。如下表:观察学生对象。如下表:观察学生对象。如下表:观察学生对象。如下表:Object Oriented1.2 面向对象程序设计的基本概念面向对象程序设计的基本概念表中各对象都是现实世界中一个客观实体,其特性是:表中各对象都是现实世界中一个客观实体,其特性是:表中各对象都是现实世界中一个客观实体,其特性是:表中各对象都是现实世界中一个客观实体,其特性是:有一个名字来惟一标识该对象;有一个名字来惟一标识该对象;有一个

25、名字来惟一标识该对象;有一个名字来惟一标识该对象;有一组属性(或称状态)描述对象的特征;有一组属性(或称状态)描述对象的特征;有一组属性(或称状态)描述对象的特征;有一组属性(或称状态)描述对象的特征;有一组操作来描述对象的各种行为(实现其功能)。有一组操作来描述对象的各种行为(实现其功能)。有一组操作来描述对象的各种行为(实现其功能)。有一组操作来描述对象的各种行为(实现其功能)。例例例例【1.21.2】观察观察观察观察WINDOWSWINDOWS下窗口的命令按钮:下窗口的命令按钮:下窗口的命令按钮:下窗口的命令按钮:每每每每个个个个命命命命令令令令按按按按钮钮钮钮都都都都有有有有一一一一个

26、个个个名名名名字字字字,如如如如:“确确确确定定定定”、“取取取取消消消消”;每个按钮都有一些属性,如:每个按钮都有一些属性,如:每个按钮都有一些属性,如:每个按钮都有一些属性,如:“长、高、颜色等长、高、颜色等长、高、颜色等长、高、颜色等”;对对对对每每每每个个个个按按按按钮钮钮钮均均均均可可可可实实实实现现现现一一一一些些些些操操操操作作作作,如如如如:“改改改改变变变变焦焦焦焦点点点点、单单单单击击击击、双击、按回车键等双击、按回车键等双击、按回车键等双击、按回车键等”总之:对象是现实世界一个个客观实体。总之:对象是现实世界一个个客观实体。总之:对象是现实世界一个个客观实体。总之:对象是

27、现实世界一个个客观实体。Object Oriented1.2 面向对象程序设计的基本概念面向对象程序设计的基本概念对象对象:是既包括属性(状态)数据,又包括作用于:是既包括属性(状态)数据,又包括作用于属性数据的一组操作的封装体。属性数据的一组操作的封装体。属性属性:对象的属性数据或状态数据通常称为属性。:对象的属性数据或状态数据通常称为属性。方法方法/服务服务:对象的能力(功能),即能实现的操作:对象的能力(功能),即能实现的操作称为方法或服务。称为方法或服务。注:在注:在C+语言中,属性称作数据成员,服务语言中,属性称作数据成员,服务/方法方法称为成员函数。称为成员函数。Object Or

28、iented1.2 面向对象程序设计的基本概念面向对象程序设计的基本概念 对象的特性对象的特性对象的特性对象的特性1 1 1 1封装性封装性封装性封装性2 2 2 2模模模模块块块块独独独独立立立立性性性性:每每每每个个个个对对对对象象象象都都都都是是是是一一一一个个个个独独独独立立立立的的的的模模模模块块块块,具具具具有有有有独独独独立立立立的的的的计计计计算算算算能能能能力力力力,通通通通过过过过消消消消息息息息激激激激活活活活对对对对象象象象自自自自身身身身的动作;的动作;的动作;的动作;3 3 3 3动动动动态态态态连连连连接接接接性性性性:通通通通过过过过消消消消息息息息传传传传递递

29、递递机机机机制制制制将将将将对对对对象象象象动动动动态态态态地联接在一起,使多个对象共同完成某项任务。地联接在一起,使多个对象共同完成某项任务。地联接在一起,使多个对象共同完成某项任务。地联接在一起,使多个对象共同完成某项任务。4 4 4 4系统的易维护性系统的易维护性系统的易维护性系统的易维护性Object Oriented1.2 面向对象程序设计的基本概念面向对象程序设计的基本概念二、二、类类如如如如例例例例【1.1.1 1】,对对对对象象象象“张张张张三三三三”、“李李李李四四四四”,具具具具有有有有相相相相同同同同的的的的一一一一些些些些属属属属性性性性、操操操操作作作作,将将将将其其

30、其其抽抽抽抽取取取取具具具具体体体体所所所所描描描描述述述述的的的的数数数数据,可抽象为一个类别据,可抽象为一个类别据,可抽象为一个类别据,可抽象为一个类别类:即学生类。类:即学生类。类:即学生类。类:即学生类。如如如如例例例例【1.21.2】,“确确确确定定定定”、“取取取取消消消消”按按按按钮钮钮钮等等等等可可可可抽抽抽抽象象象象为一个类为一个类为一个类为一个类命令按钮类。命令按钮类。命令按钮类。命令按钮类。类类类类就就就就是是是是具具具具有有有有相相相相同同同同的的的的属属属属性性性性和和和和相相相相同同同同的的的的操操操操作作作作的的的的一一一一组组组组对对对对象的抽象。象的抽象。象的

31、抽象。象的抽象。Object Oriented1.2 面向对象程序设计的基本概念面向对象程序设计的基本概念由此可知:由此可知:由此可知:由此可知:类类类类是是是是对对对对象象象象的的的的抽抽抽抽象象象象(如如如如“学学学学生生生生”是是是是对对对对张张张张三三三三、李李李李四四四四等等等等的的的的抽抽抽抽象象象象,“命令按钮命令按钮命令按钮命令按钮”是对确定、取消等的抽象);是对确定、取消等的抽象);是对确定、取消等的抽象);是对确定、取消等的抽象);对对对对象象象象是是是是类类类类的的的的实实实实例例例例(如如如如张张张张三三三三是是是是“学学学学生生生生”的的的的一一一一个个个个实实实实例

32、例例例,确确确确定定定定是是是是“命令按钮命令按钮命令按钮命令按钮”的一个实例)。的一个实例)。的一个实例)。的一个实例)。在在在在实实实实际际际际应应应应用用用用中中中中,先先先先定定定定义义义义一一一一个个个个类类类类,然然然然后后后后再再再再定定定定义义义义一一一一个个个个个个个个具具具具体对象。体对象。体对象。体对象。在在在在面面面面向向向向对对对对象象象象程程程程序序序序设设设设计计计计中中中中的的的的定定定定义义义义:类类类类是是是是创创创创建建建建对对对对象象象象的的的的样样样样板板板板,它它它它包包包包含含含含对对对对创创创创建建建建对对对对象象象象的的的的状状状状态态态态描描

33、描描述述述述及及及及操操操操作作作作行行行行为为为为的的的的说说说说明明明明;对对对对象象象象是是是是类类类类的实例化(对象变量、对象数组等)的实例化(对象变量、对象数组等)的实例化(对象变量、对象数组等)的实例化(对象变量、对象数组等)Object Oriented1.2 面向对象程序设计的基本概念面向对象程序设计的基本概念三、三、消息消息 概念概念概念概念 消息消息消息消息(MessageMessageMessageMessage):是描述事件发生的信息,是一个对象向):是描述事件发生的信息,是一个对象向):是描述事件发生的信息,是一个对象向):是描述事件发生的信息,是一个对象向另一个对象

34、发出的请求。另一个对象发出的请求。另一个对象发出的请求。另一个对象发出的请求。消息传递消息传递消息传递消息传递:面向对象程序设计技术所提供的一种允许一个:面向对象程序设计技术所提供的一种允许一个:面向对象程序设计技术所提供的一种允许一个:面向对象程序设计技术所提供的一种允许一个对象与另一个对象交互的机制。对象与另一个对象交互的机制。对象与另一个对象交互的机制。对象与另一个对象交互的机制。组成组成组成组成 1.1.1.1.接受消息的对象;接受消息的对象;接受消息的对象;接受消息的对象;2.2.2.2.消息名;消息名;消息名;消息名;3.3.3.3.零个或若干个参数。零个或若干个参数。零个或若干个

35、参数。零个或若干个参数。Object Oriented1.2 面向对象程序设计的基本概念面向对象程序设计的基本概念消息的三个性质消息的三个性质消息的三个性质消息的三个性质同一个对象可以接受不同形式的多个消息,产生的消息同一个对象可以接受不同形式的多个消息,产生的消息同一个对象可以接受不同形式的多个消息,产生的消息同一个对象可以接受不同形式的多个消息,产生的消息各不相同;各不相同;各不相同;各不相同;相同形式的消息可以发送给不同的对象,产生的响应可相同形式的消息可以发送给不同的对象,产生的响应可相同形式的消息可以发送给不同的对象,产生的响应可相同形式的消息可以发送给不同的对象,产生的响应可以各不

36、相同;以各不相同;以各不相同;以各不相同;一个对象可以立即响应发送给它的消息,也可以暂时不一个对象可以立即响应发送给它的消息,也可以暂时不一个对象可以立即响应发送给它的消息,也可以暂时不一个对象可以立即响应发送给它的消息,也可以暂时不予响应消息。予响应消息。予响应消息。予响应消息。Object Oriented1.3 面向对象程序设计的基本特性面向对象程序设计的基本特性面向对象系统的最突出的特性:面向对象系统的最突出的特性:面向对象系统的最突出的特性:面向对象系统的最突出的特性:封装性、继承性、多态性。封装性、继承性、多态性。封装性、继承性、多态性。封装性、继承性、多态性。一、数据的抽象与封装

37、一、数据的抽象与封装一、数据的抽象与封装一、数据的抽象与封装 例例例例【1.31.3】现实社会中抽象与封装的例子:现实社会中抽象与封装的例子:现实社会中抽象与封装的例子:现实社会中抽象与封装的例子:家电设备(电视机等)的使用;家电设备(电视机等)的使用;家电设备(电视机等)的使用;家电设备(电视机等)的使用;汽车的驾驶汽车的驾驶汽车的驾驶汽车的驾驶。数据的抽象与封装的基本概念数据的抽象与封装的基本概念数据的抽象与封装的基本概念数据的抽象与封装的基本概念1.1.数据的抽象数据的抽象数据的抽象数据的抽象数数数数据据据据的的的的抽抽抽抽象象象象是是是是对对对对数数数数据据据据进进进进行行行行实实实实

38、例例例例分分分分析析析析,抽抽抽抽取取取取其其其其共共共共同同同同性性性性质质质质的的的的结结结结果。如:果。如:果。如:果。如:“学学学学生生生生”对对对对象象象象,先先先先对对对对一一一一些些些些学学学学生生生生实实实实例例例例进进进进行行行行分分分分析析析析,确确确确定定定定他他他他们们们们的的的的共共共共同同同同特特特特性性性性或或或或主主主主要要要要特特特特性性性性(姓姓姓姓名名名名、性性性性别别别别、年年年年龄龄龄龄、专专专专业业业业等等等等),忽忽忽忽略略略略不不不不同同同同点点点点或或或或次次次次要要要要的的的的引引引引不不不不起起起起兴兴兴兴趣趣趣趣的的的的那那那那些些些些特

39、特特特性性性性(长长长长相相相相差差差差异异异异、性性性性格差异等)。格差异等)。格差异等)。格差异等)。Object Oriented1.3 面向对象程序设计的基本特性面向对象程序设计的基本特性2.2.数据的封装数据的封装数据的封装数据的封装 将将将将数数数数据据据据结结结结构构构构以以以以及及及及作作作作用用用用于于于于数数数数据据据据结结结结构构构构上上上上的的的的操操操操作作作作组组组组成成成成一一一一个个个个实实实实体体体体,把把把把数数数数据据据据的的的的表表表表示示示示方方方方式式式式及及及及操操操操作作作作细细细细节节节节隐隐隐隐藏藏藏藏起起起起来来来来,用用用用户户户户通通通

40、通过过过过接接接接口口口口对对对对数数数数据据据据进进进进行行行行操操操操作作作作。这这这这样样样样,用用用用户户户户就就就就只只只只知知知知道道道道操操操操作作作作接接接接口口口口对对对对该该该该数数数数据据据据进进进进行行行行操操操操作作作作,而而而而不不不不知知知知道道道道内内内内部部部部是是是是如如如如何何何何做做做做的的的的以以以以及及及及如如如如何何何何表表表表示示示示的的的的数数数数据据据据的封装。的封装。的封装。的封装。例例例例【1.41.4】银行帐户的抽象与封装银行帐户的抽象与封装银行帐户的抽象与封装银行帐户的抽象与封装分析:分析:分析:分析:用户关心的问题:存款、取款、转帐

41、、查询、修改密码用户关心的问题:存款、取款、转帐、查询、修改密码用户关心的问题:存款、取款、转帐、查询、修改密码用户关心的问题:存款、取款、转帐、查询、修改密码数据结构:业主、帐号、余额、利息、密码等数据结构:业主、帐号、余额、利息、密码等数据结构:业主、帐号、余额、利息、密码等数据结构:业主、帐号、余额、利息、密码等Object Oriented数据的抽象与封装数据的抽象与封装数据的抽象与封装数据的抽象与封装WithDrawWithDrawWithDrawWithDraw(取款取款取款取款)Transfer(Transfer(Transfer(Transfer(转帐转帐转帐转帐)Search

42、(Search(Search(Search(查询查询查询查询)Change_passwordsChange_passwordsChange_passwordsChange_passwords(更改密码)更改密码)更改密码)更改密码)balancebalancebalancebalance(余额)余额)余额)余额)interestYTDinterestYTDinterestYTDinterestYTD(年利息)年利息)年利息)年利息)ownerownerownerowner(业主)业主)业主)业主)account_numberaccount_numberaccount_numberaccount

43、_number(帐号)帐号)帐号)帐号)passwordspasswordspasswordspasswords(密码)密码)密码)密码).MakeDepositMakeDepositMakeDepositMakeDeposit(存款存款存款存款)WithDrawWithDrawWithDrawWithDraw(取款取款取款取款)Transfer(Transfer(Transfer(Transfer(转帐转帐转帐转帐)Search(Search(Search(Search(查询查询查询查询)Change_passwordsChange_passwordsChange_passwordsChan

44、ge_passwords(更更更更改改改改密码)密码)密码)密码)接口接口接口接口实现细节实现细节实现细节实现细节(用户不可见)(用户不可见)(用户不可见)(用户不可见)用户用户用户用户1.3 面向对象程序设计的基本特性面向对象程序设计的基本特性Object Oriented1.3 面向对象程序设计的基本特性面向对象程序设计的基本特性结结结结论论论论:抽抽抽抽象象象象是是是是抽抽抽抽取取取取数数数数据据据据共共共共同同同同性性性性质质质质的的的的结结结结果果果果,而而而而封封封封装装装装则则则则是是是是隐隐隐隐蔽蔽蔽蔽了了了了抽抽抽抽象象象象的的的的内内内内部部部部实实实实现现现现细细细细节节

45、节节的的的的结结结结果果果果,是是是是将将将将数数数数据据据据抽抽抽抽象的外部接口与内部实现细节清楚地分离开象的外部接口与内部实现细节清楚地分离开象的外部接口与内部实现细节清楚地分离开象的外部接口与内部实现细节清楚地分离开。Object Oriented1.3 面向对象程序设计的基本特性面向对象程序设计的基本特性二、继承性二、继承性二、继承性二、继承性、继承的概念、继承的概念、继承的概念、继承的概念 所所所所表表表表达达达达的的的的是是是是对对对对象象象象类类类类之之之之间间间间相相相相互互互互的的的的关关关关系系系系。这这这这种种种种关关关关系系系系使使使使的的的的某某某某一类可以继承另外一

46、个类的特征和能力。一类可以继承另外一个类的特征和能力。一类可以继承另外一个类的特征和能力。一类可以继承另外一个类的特征和能力。例例例例【1.41.4】现实社会中继承的实例现实社会中继承的实例现实社会中继承的实例现实社会中继承的实例由此可知:由此可知:由此可知:由此可知:继承是将客观世界中一般和特殊关系模型化成层次结构;继承是将客观世界中一般和特殊关系模型化成层次结构;继承是将客观世界中一般和特殊关系模型化成层次结构;继承是将客观世界中一般和特殊关系模型化成层次结构;通通通通过过过过继继继继承承承承可可可可实实实实现现现现和和和和增增增增强强强强代代代代码码码码的的的的可可可可重重重重用用用用性

47、性性性通通通通过过过过继继继继承承承承基基基基类的属性、方法实现;类的属性、方法实现;类的属性、方法实现;类的属性、方法实现;在在在在创创创创见见见见新新新新的的的的派派派派生生生生类类类类时时时时,只只只只要要要要指指指指明明明明了了了了派派派派生生生生类类类类是是是是由由由由哪哪哪哪个个个个基基基基类类类类派生的便可自动继承基类的属性和方法。派生的便可自动继承基类的属性和方法。派生的便可自动继承基类的属性和方法。派生的便可自动继承基类的属性和方法。修修修修改改改改或或或或扩扩扩扩充充充充程程程程序序序序功功功功能能能能时时时时不不不不必必必必修修修修改改改改原原原原代代代代码码码码(增增增

48、增加加加加新新新新代代代代码码码码即即即即可)。可)。可)。可)。Object Oriented1.3 面向对象程序设计的基本特性面向对象程序设计的基本特性 继承的几个名词:继承的几个名词:继承的几个名词:继承的几个名词:基类(父类)基类(父类)基类(父类)基类(父类)派生类(子类)派生类(子类)派生类(子类)派生类(子类)直接基类及间接基类直接基类及间接基类直接基类及间接基类直接基类及间接基类 继承的分类继承的分类继承的分类继承的分类单继承单继承单继承单继承多继承多继承多继承多继承Object Oriented1.3 面向对象程序设计的基本特性面向对象程序设计的基本特性三、多态性三、多态性三

49、、多态性三、多态性多态性多态性多态性多态性:是指不同的对象在收到相同的消息时产生多种不:是指不同的对象在收到相同的消息时产生多种不:是指不同的对象在收到相同的消息时产生多种不:是指不同的对象在收到相同的消息时产生多种不同的行为。同的行为。同的行为。同的行为。多态性的例子。多态性的例子。多态性的例子。多态性的例子。“+”+”:2+3=52+3=5 设复数设复数设复数设复数a=2+3i b=3+4i a=2+3i b=3+4i 则:则:则:则:a+ba+b=5+7i=5+7i(运算符重载)运算符重载)运算符重载)运算符重载)max()max()函数的调用:函数的调用:函数的调用:函数的调用:max

50、(a,bmax(a,b)求二个数之间的最大数;求二个数之间的最大数;求二个数之间的最大数;求二个数之间的最大数;max(a,b,cmax(a,b,c)求三个数之间的最大数;求三个数之间的最大数;求三个数之间的最大数;求三个数之间的最大数;max(*max(*p,np,n)求求求求n n个数的最大数。个数的最大数。个数的最大数。个数的最大数。(函数重载)(函数重载)(函数重载)(函数重载)Object OrientedObject Oriented1.4 面向对象程序设计语言面向对象程序设计语言 要求:必须支持抽象数据类型和继承性。提供继承性、多态要求:必须支持抽象数据类型和继承性。提供继承性、

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁