C面向对象课程序设计课件第一章概述.ppt
《C面向对象课程序设计课件第一章概述.ppt》由会员分享,可在线阅读,更多相关《C面向对象课程序设计课件第一章概述.ppt(60页珍藏版)》请在三一办公上搜索。
1、Object Oriented,面向对象技术与C+,计算机学院,Object Oriented,教材:,C+面向对象程序设计,陈维兴,中国铁道出版社,Object Oriented,参考书,面向对象的理论与C+实践,王燕,清华大学出版社Visual C+实用教程,郑阿奇,电子工业出版社Visual C+6.0技术内幕,David J.Kruglinski著,北京希望电子出版社,Object Oriented,课程性质与设置目的,性质计算机专业的专业基础课学习目标:掌握面向对象程序设计的基本概念及基本思想;掌握类、对象的概念及C+语言实现方法;掌握继承的概念及C+语言实现方法;掌握多态的概念及C
2、+语言实现方法;掌握C+语言模板、流类库的应用;初步建立计算机专业必备的面向对象程序设计思想。,Object Oriented,理论学习理解、掌握基本概念,多看例题理论指导实践,实践提高认识实践学习勤思考,多动手重视上机实习环境坚持自学,课程学习方法,Object Oriented,成绩评定,总成绩=平时成绩(10%)+实验(20%)+期末考试成绩(70%)平时成绩包括考勤,作业,课堂小测验等实验成绩根据考勤及实验内容完成的情况确定期末考试指学期末学校安排的正式考试,Object Oriented,第1章 面向对象程序设计概述,Object Oriented,面向对象概述,是一种全新的软件工程
3、技术;程序设计方法更符合人类的思维方式,更直接地描述客观世界;通过提高代码的可重用性、可扩充性和程序自动生成功能来提高编程效率,大大减少软件维护的开销;面向对象技术已经被越来越多的软件技术人员所接受和采用。,Object Oriented,1.1 面向对象程序设计概述,OO思想的来源需要:人们希望直接与计算机进行交互,而不必进行专门的学习和长时间训练。目标:软件系统对现实世界的直接模拟,尽量实现世界中的事务直接映射到软件系统的接空间。它希望用户用最小的气力,最大程度地利用软件系统来解决问题。,Object Oriented,现实世界物质意识OO世界具体事务抽象概念,Object Oriente
4、d,一切都是对象 例题:编写一个开发票程序,需要对发票的名细栏进行计算。,面向对象思路:对象 一组属性 操作:发票总计,非面向对象思路:定义数据结构定义函数,Object Oriented,1.1 面向对象程序设计概述,从程序设计方法的角度看,面向对象是一种新的程 序设计范型(paradigm),其基本思想是使用对象、类、继承、封装、聚合、关联、消息、多态性等基本概念来进行程序设计。自八十年代以来,面向对象方法已深入到计算机软件领域 的几乎所有分支。它不仅是一些具体的软件开发技术与策 略,而且是一整套关于如何看待软件系统与现实世界的关 系,用什么观点来研究问题并进行问题求解,以及如何进 行系统
5、构造的软件方法学。从这个意义上讲:面向对象方法是一种运用对象、类、继承、封装、聚合、关联、消息、多态性等概念来构造系统的软件开发方法。,Object Oriented,1.1 面向对象程序设计概述,程序设计方法的演进 1、程序设计语言:机器语言汇编语言高级语言(面向过程的高级语言面向对象的编程语言面向对象的可视化编程语言)。2、程序设计方法:程序设计的自然描述结构化程序设计(面向过程的程序设计方法)面向对象的程序设计方法面向对象的可视化编程方法。,Object Oriented,面向过程,Object Oriented,Object Oriented,1.1 面向对象程序设计概述,3、结构化(
6、面向过程)程序设计方法与面向对象程序设计方法的关系。观点1:面向过程的程序设计方法可以作为面向对象程序设计方法的基础,学习面向对象的程序设计应具备面向过程的程序设计方法方面的知识。观点2:面向对象的程序设计方法与面向过程的程序设计方法在思维方法上与面向过程程序设计方法相背离,是独立的程序设计体系。,Object Oriented,1.1 面向对象程序设计概述,面向过程程序设计的特点面向过程程序设计思想的核心:功能分解面向过程程序设计思想的主要特点:程序与数据相分离。即:程序=算法+数据结构面向过程程序设计思想的主要缺点:程序代码的可重用性差,维护代价高。,Object Oriented,1.1
7、 面向对象程序设计概述,面向对象程序设计的特点 面向对象程序设计将数据及数据的操作(算法)当成一个整体。即:程序=(算法+数据结构)其主要思想:面向对象程序设计,是把一些具有相同数据特性的实例抽象成为一个类,通过对类的定义和类的使用(即对象的使用)实现对实例的使用的面向对象程序设计是一种新的程序设计范型。,Object Oriented,1.1 面向对象程序设计概述,特点:程序由类的定义及类的使用两部分组成,通常在主程序定义各对象并规定对象间传递消息的规律;程序中的一切操作都是通过发送消息实现的,对象接收消息后,启动相应的消息完成相应的操作对象内、对象间采用消息传递机制;面向对象的程序设计最主
8、要的优点:软件的可重用性面向对象的程序设计最重要的的概念:类与对象。,Object Oriented,1.2 面向对象程序设计的基本概念,一、对象 对象的概念 对象是我们认识世界的一些基本单元(人或物等)例【1.1】观察学生对象。如下表:,Object Oriented,1.2 面向对象程序设计的基本概念,表中各对象都是现实世界中一个客观实体,其特性是:有一个名字来惟一标识该对象;有一组属性(或称状态)描述对象的特征;有一组操作来描述对象的各种行为(实现其功能)。例【1.2】观察WINDOWS下窗口的命令按钮:每个命令按钮都有一个名字,如:“确定”、“取消”;每个按钮都有一些属性,如:“长、高
9、、颜色等”;对每个按钮均可实现一些操作,如:“改变焦点、单击、双击、按回车键等”总之:对象是现实世界一个个客观实体。,Object Oriented,1.2 面向对象程序设计的基本概念,对象:是既包括属性(状态)数据,又包括作用于属性数据的一组操作的封装体。属性:对象的属性数据或状态数据通常称为属性。方法/服务:对象的能力(功能),即能实现的操作称为方法或服务。注:在C+语言中,属性称作数据成员,服务/方法称为成员函数。,Object Oriented,1.2 面向对象程序设计的基本概念,对象的特性1封装性2模块独立性:每个对象都是一个独立的模块,具有独立的计算能力,通过消息激活对象自身的动作
10、;3动态连接性:通过消息传递机制将对象动态地联接在一起,使多个对象共同完成某项任务。4系统的易维护性,Object Oriented,1.2 面向对象程序设计的基本概念,二、类如例【1.1】,对象“张三”、“李四”,具有相同的一些属性、操作,将其抽取具体所描述的数据,可抽象为一个类别类:即学生类。如例【1.2】,“确定”、“取消”按钮等可抽象为一个类命令按钮类。类就是具有相同的属性和相同的操作的一组对象的抽象。,Object Oriented,1.2 面向对象程序设计的基本概念,由此可知:类是对象的抽象(如“学生”是对张三、李四等的抽象,“命令按钮”是对确定、取消等的抽象);对象是类的实例(如
11、张三是“学生”的一个实例,确定是“命令按钮”的一个实例)。在实际应用中,先定义一个类,然后再定义一个个具体对象。在面向对象程序设计中的定义:类是创建对象的样板,它包含对创建对象的状态描述及操作行为的说明;对象是类的实例化(对象变量、对象数组等),Object Oriented,1.2 面向对象程序设计的基本概念,三、消息 概念 消息(Message):是描述事件发生的信息,是一个对象向另一个对象发出的请求。消息传递:面向对象程序设计技术所提供的一种允许一个对象与另一个对象交互的机制。组成 1.接受消息的对象;2.消息名;3.零个或若干个参数。,Object Oriented,1.2 面向对象程
12、序设计的基本概念,消息的三个性质同一个对象可以接受不同形式的多个消息,产生的消息各不相同;相同形式的消息可以发送给不同的对象,产生的响应可以各不相同;一个对象可以立即响应发送给它的消息,也可以暂时不予响应消息。,Object Oriented,1.3 面向对象程序设计的基本特性,面向对象系统的最突出的特性:封装性、继承性、多态性。一、数据的抽象与封装 例【1.3】现实社会中抽象与封装的例子:家电设备(电视机等)的使用;汽车的驾驶。数据的抽象与封装的基本概念1.数据的抽象数据的抽象是对数据进行实例分析,抽取其共同性质的结果。如:“学生”对象,先对一些学生实例进行分析,确定他们的共同特性或主要特性
13、(姓名、性别、年龄、专业等),忽略不同点或次要的引不起兴趣的那些特性(长相差异、性格差异等)。,Object Oriented,1.3 面向对象程序设计的基本特性,2.数据的封装 将数据结构以及作用于数据结构上的操作组成一个实体,把数据的表示方式及操作细节隐藏起来,用户通过接口对数据进行操作。这样,用户就只知道操作接口对该数据进行操作,而不知道内部是如何做的以及如何表示的数据的封装。例【1.4】银行帐户的抽象与封装分析:用户关心的问题:存款、取款、转帐、查询、修改密码数据结构:业主、帐号、余额、利息、密码等,Object Oriented,数据的抽象与封装,1.3 面向对象程序设计的基本特性,
14、Object Oriented,1.3 面向对象程序设计的基本特性,结论:抽象是抽取数据共同性质的结果,而封装则是隐蔽了抽象的内部实现细节的结果,是将数据抽象的外部接口与内部实现细节清楚地分离开。,Object Oriented,1.3 面向对象程序设计的基本特性,二、继承性、继承的概念 所表达的是对象类之间相互的关系。这种关系使的某一类可以继承另外一个类的特征和能力。例【1.4】现实社会中继承的实例由此可知:继承是将客观世界中一般和特殊关系模型化成层次结构;通过继承可实现和增强代码的可重用性通过继承基类的属性、方法实现;在创见新的派生类时,只要指明了派生类是由哪个基类派生的便可自动继承基类的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 课程 设计 课件 第一章 概述
链接地址:https://www.31ppt.com/p-3146208.html