面向对象程序设计课件

上传人:3626209****147198... 文档编号:251946300 上传时间:2024-11-11 格式:PPTX 页数:33 大小:202.74KB
返回 下载 相关 举报
面向对象程序设计课件_第1页
第1页 / 共33页
面向对象程序设计课件_第2页
第2页 / 共33页
面向对象程序设计课件_第3页
第3页 / 共33页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,为什么要学习本课程,面向对象是当前程序设计的重要思想,VC+,是,Win32,应用程序的主要开发工具,本课程既承前,(C,语言,),又启后,(.NET,技术,),为什么要学习本课程,1,本课程的学习目标,掌握面向对象程序设计的基本思想和方法,掌握,C+,的基本语法和特性,使用,VC+6.0,设计程序解决简单的问题,本课程的学习目标,2,本课程的内容安排,课时安排:,3,节,/,周,15,周,内容:见教材目录,重难点:类和对象、继承和派生,多态性和虚函数,实验安排:,4,节,/,周,8,周,本课程的内容安排 课时安排:3节/周15周,3,本课程的参考书,面向对象的理论与C+实践,,,王燕,,,清华大学出版社,C+面向对象程序设计,,,谭浩强,,,中国铁道出版社,其他相关的纸本及电子书籍(图书馆借阅或网上下载),本课程的参考书,4,本课程的考评方法,平时作业上课表现:约,20%,上机实验作品设计:,约,30%,期末考试:,约,50%,本课程的考评方法,5,教材编者的话,你的程序设计能力与你投入到计算机上的时间成正比。,要想学好程序设计,就得多读程序,多编程序,多调试程序。,教材编者的话,6,第一章 绪 论,第一章 绪 论,7,主要内容,面向对象方法的起源和发展,结构化程序设计与面向对象程序设计,面向对象的基本概念及其系统的特性,面向对象的系统开发方法,面向对象程序设计举例,主要内容面向对象方法的起源和发展,8,1.1,面向对象方法的起源,机器语言,汇编语言,高级语言,面向过程,面向对象,CPU,指令系统,由0、1序列构成的指令码组成,如:,10000000,加,10010000,减,用助记符号描述的指令系统,如,ADD A,B,面向机器的语言,程序设计是数据被加工的过程,客观世界可以分类,对象是类的实例,对象是数据和方法的封装,对象间通过发送和接受消息发生联系,程序设计关键是定义类,并由类派生对象,1.1 面向对象方法的起源机器语言汇编语言高级语言面向过程面,9,1.1,面向对象方法的起源,60,年代末,“,软件危机,”,软件工程,70,年代,结构化程序设计,80,年代,面向对象程序设计,1.1 面向对象方法的起源60年代末“软件危机”70年代80,10,面向对象的方法是以对象作为最基本元素的一种分析问题和解决问题的方法。,结构化方法处理问题是以过程为中心的,面向对象方法是以对象为中心的。,面向对象的方法能更自然、更直接地反映现实世界的问题空间,能更好地适应复杂大系统不断发展与变化的要求。,1.1,面向对象方法的起源,面向对象的方法是以对象作为最基本元素的一种分析问题和解决问题,11,面向对象语言可以分为两大类:纯粹的面向对象语言和混合型的面向对象语言。,纯粹的面向对象语言中,几乎所有的语言成分都是,“,对象,”,,这类语言强调开发快速原型的能力。,混合型的面向对象语言,是在传统的过程化语言中加入了各种面向对象的语言机制,它所强调的是运行效率。,1.2,面向对象语言的发展,面向对象语言可以分为两大类:纯粹的面向对象语言和混合型的面向,12,LISP,家族,LISP,是,50,年代开发出来的一种人工智能语言。,70,年代以来,在其基础上开发了很多,LISP,家族的面向对象语言。,Simula,Simula,语言是,60,年代开发出来的,在,Simula,中引入了几个面向对象程序设计语言中最重要的概念和特性,即数据抽象、类和继承性机制。,Smalltalk,Smalltalk,起源于,Simula,语言,是第一个真正的面向对象程序设计语言,它体现了纯粹的,OOP,设计思想,是最纯的,OOP,语言。,1.2,面向对象语言的发展,LISP家族1.2 面向对象语言的发展,13,C,家族,70,年代出现了,C,语言,并很快得到广泛的应用。,80,年代,在,C,的基础上进行扩充,出现了,C+,,它增加了对象机制,是一种混合型的面向对象程序设计语言。,C+,以其高效的执行效率赢得了广大程序设计员的青睐,使面向对象的程序设计语言得到重视和广泛应用。,在,2000,年,,Microsoft,在自己的,.NET,框架计划,中,以,C,语言为样本,,沿用了,C+,的,函数库,,,研发,了,C#,语言,它是一种面向对象、面向网络、面向组件的语言,。,1.2,面向对象语言的发展,C家族1.2 面向对象语言的发展,14,2,结构化程序设计与面向对象程序设计,结构化程序设计,自顶向下、逐步细化、模块化设计、结构化编码,不足之处:,数据与过程分离,(1),编程时需要时刻考虑数据的格式;可重用性差,(2),数据和程序要始终相容;易出错,程序,=,数据结构,+,算法,+,程序设计语言,+,语言环境,2 结构化程序设计与面向对象程序设计结构化程序设计不足之处:,15,2,结构化程序设计与面向对象程序设计,面向对象程序设计,代码重用、代码维护、代码共享、代码精减,程序对象,1,对象,2,+,对象,n,对象,=,数据结构,+,算法,+,程序设计语言,+,语言环境,2 结构化程序设计与面向对象程序设计面向对象程序设计程序对,16,3.1,面向对象的基本概念,对象,(object),是系统用来描述客观事物的一个实体,它是构成系统的一个基本单位。,对象是由属性和服务构成的。属性用来表示对象的状态,服务用来描述对象的行为操作。,对象具有如下特性:,具有唯一标识名,具有一个状态、具有一组服务,对象的成员仍可以是对象,模块独立性、动态连接性、易维护性,3.1 面向对象的基本概念对象(object),17,3.1,面向对象的基本概念,类,(class),类是对象的抽象及描述,是具有共同属性和操作的多个对象的相似特性的统一描述体。,每个类要有一个名字标识,用以表示一组对象的共同特征。类中的每个对象都是该类的实例,。,类提供了完整的解决特定问题的能力,,它,描述了数据结构(对象属性)、算法(服务、方法)和外部接口(消息协议),。,交通,工具,汽车,火车,公共汽车,小轿车,快速列车,特快列车,动车组,3.1 面向对象的基本概念类(class)交通汽车火车公共汽,18,3.1,面向对象的基本概念,消息,(message),消息是面向对象系统中实现对象间的通信和请求任务的操作,是要求某个对象执行其中某个功能操作的规格说明。,发送消息的对象称为发送者,接受消息的对象称为接收者,。,对象间的联系只能通过消息来进行。对象在接收到消息时才被激活。,消息一般有三部分:接受对象名、调用操作名、参数。,消息可分为公有消息和私有消息。,消息具有三个性质:,(1),同一对象可接收不同形式的多个消息,产生不同响应;,(2),相同形式的消息可以送给不同对象,所做出的响应可以截然不同;,(3),消息的发送可以不考虑具体的接收者,对象可以响应消息,也可对消息不予理会。,3.1 面向对象的基本概念消息(message)(1)同一,19,3.1,面向对象的基本概念,方法,(method),方法就是对象所能执行的操作。,方法包括界面和方法体两部分。界面就是消息的模式,它给出了方法的调用协议;方法体则是实现某种操作的一系列计算步骤,也就是一段程序。,消息和方法的关系:对象根据接收到的消息,调用相应的方法;有了方法,对象才能响应相应的消息。,只要方法界面保持不变,改动方法体不会影响方法的调用。,在,C+,语言中方法是通过函数来实现的,称为成员函数。,3.1 面向对象的基本概念方法(method),20,3.2,面向对象系统的特性,抽象性,(abstract),面向对象鼓励程序员以抽象的观点看待程序,即程序是由一组对象组成的。,人们认识事物的两种方法:从特殊到一般的归纳法和从一般到特殊的演绎法,。,将一组对象的共同特征抽象出来,从而形成,“,类,”,的概念。,对于一个具体的类,它有许多具体的个体,我们称这些个体叫做,“,对象,”,。,3.2 面向对象系统的特性抽象性(abstract),21,3.2,面向对象系统的特性,封装性,(encapsulation),所谓数据封装就是指一组数据和与这组数据有关的操作集合组装在一起,形成一个能动的实体即对象。,封装给数据提供了与外界联系的标准接口,只有通过这些接口,使用规范的方式,才能访问这些数据,。,数据封装使程序员设计程序时可以专注于自己的对象,同时切断了不同模块间数据的非法使用,减少了出错的可能性。,3.2 面向对象系统的特性封装性(encapsulation,22,3.2,面向对象系统的特性,继承性,(inheritance),是指建立新的对象类型时,能够从已有的对象类型获得原对象的特点和功能。,继承的作用:一方面可以减少代码冗余,另一方面可以通过协调性来减少相互之间的接口和界面,。,从继承源上划分继承可分为单一继承和多重继承。,从继承内容上继承可分为取代继承、包含继承、受限继承、特化继承。,父类,子类,3.2 面向对象系统的特性继承性(inheritance)父,23,3.2,面向对象系统的特性,多态性,(polymorphism),是指不同的对象接收到相同的消息时产生多种完全不同的行为的现象。,C+,支持两种多态性:编译时的多态性和运行时的多态性,。,编译时的多态性通过重载函数实现,而运行时的多态性通过虚函数实现。,3.2 面向对象系统的特性多态性(polymorphism),24,4,面向对象的系统开发方法,系统调查和需求分析,对系统要实现的功能及用户对系统开发的需求进行调查研究。,面向对象分析,(OOA),在繁杂的问题域中抽象地识别出对象及其行为、结构、属性、方法等。,面向对象设计,(OOD),对分析的结果作进一步的抽象、归类、整理,最终以规范的形式描述对象和类。,面向对象程序设计,(OOP),用面向对象的程序设计语言将上一步整理的对象和类的描述映射为应用程序软件。,4 面向对象的系统开发方法系统调查和需求分析,25,5,面向对象程序设计举例,【例1.1】使用面向对象程序设计方法,编写一,个,对堆栈进行处理的程序,包括压栈和弹栈操作。,源程序,:,stack.cpp,1,2,3,4,5,1,2,3,4,5,stack1:,stack2:,NULL,NULL,5 面向对象程序设计举例 【例1.1】使用面向对象程,26,编辑,链接,编译,执行,程序代码的录入,生成源程序,*,.cpp,语法分析查错,翻译生成目标程序,*,.obj,与其它目标程序或库链接装配,生成可执行程序,*,.exe,C+,程序的调试与运行,编辑链接编译执行程序代码的录入,语法分析查错,翻译生成目标程,27,C+,程序的书写格式比较自由,一般,一行写一条,语句。对于短语句也可,一行写多个,,中间用,“,;,”,分隔。对于长语句也可将一条语句分写在多行上,分行原则是不能将一个,单词,分开,也不要将双撇号引用的一个,字符串,分开。,为了程序书写得清晰,提高程序的可读性,一般采用,缩进格式,。即同一层次语句要对齐,不同层次语句要缩进若干个字符。如循环体中的语句和选择体中的语句要缩进对齐。,花括号的书写方法较多,常用的是每个花括号占一行,并与使用花括号的语句对齐,花括号内的语句采用缩格书写的方式;另有一种形式是花括号与所括内容占一行。,C+,程序的书写格式,C+程序的书写格式比较自由,一般一行写一条语句。对于短语句,28,习惯用,小写,字母,大小写敏感,不使用行号,,无程序行,概念,可使用空行和空格,常用,锯齿形,书写格式,main(),.,.,.,.,.,.,.,main(),int i,j,sum;,sum=0;,for(i=1;i10;i+),for(j=1;j10;j+),sum+=i*j;,coutsumendl;,优秀程序员的素质之一,:,使用,TAB,缩进,对齐,有足够的注释,有合适的空行,格式特点,习惯用小写字母,大小写敏感main()main()优秀程,29,结构特点,函数与主函数,程序由一个或多个
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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