
第1、2章--C和VC++语言概述.ppt
123页VC++面向对象程序设计,绍兴元培学院信息与电子系何 跃E-mail: heyue@13857582695(642695),学习目标与要求 开设本课程的目的是使学生掌握使用面向对象程序设计语言(VC++)进行应用程序设计的基本方法和技能,注重培养学生编程能力、分析问题和解决问题的能力 本课程的任务是使学生在复习C/C++语言基本内容的基础上,进一步掌握VC++面向对象程序设计的基本概念、原理和方法,特别是:类和对象、继承与派生、多态性与虚函数、运算符重载等内容必须完全掌握同时,全面了解和掌握在可视化环境中VC++的编程方法和技巧学习方法,本课程的讲授是按章顺序进行,课前请做好预习,上课认真听讲,积极思考仔细阅读教材中的大量例题,从而体会并最终掌握其中的编程方法和技巧认真、独立、按时完成并提交作业加强交流,多讨论,多阅读参考书、多请教,多提问,及时答疑解惑重视上机实践,有效利用宝贵的上机时间只有通过上机才能加深对概念的理解和认识,才能掌握编程方法和技巧教材: 《VC++面向对象程序设计教程与实验(第二版)》 温秀梅等 --清华大学出版社,2009.4 参考教材:《面向对象程序设计教程 》 冷英男 李文超 --电子工业出版社,2007.6 《C++面向对象程序设计教程 》 陈维兴 / 陈昕 / 林小茶 --清华大学出版社,2009.6 《面向对象程序设计教程 (Java版)》 C.Thomas Wu --机械工业出版社,2007 《Visual C#.NET 面向对象程序设计教程》 赵卫伟 --机械工业出版社,2011.8,教学环节: (总学时:60学时)课堂教学:30学时 上机实验:30学时,要求完成实验大纲中的7个实验自 学:第九、十、十一、十二章作 业:每章中间、结束后布置作业实 验:每个实验后交实验报告(写在实验报告纸上)考核成绩:平时:10%,上机实验:20%,期末考:70% (注:期末考试采用闭卷形式),内 容 安 排,第1章 绪论 2学时,第2章 C++对C语言的扩充 4+4学时,第3章 类和对象 4+4学时,第4章 友元 4+4学时,第5章 继承与派生 6+6学时,第6章 多态性和虚函数 4+6学时,第7章 输入输出流库 4+4学时,第8章 异常处理 2+2学时,第9章 MFC编程基础,第10章 对话框和控制,第11章 菜单和文档/视图结构,第12章 图形设备接口,第一章 C/VC++语言概述,数理信息学院2009.8, 面向对象技术概述 程序书写规范 数据类型 运算符和表达式 基本语句 函数 指针和引用 作用域和存储类型,本 章 主 要 内 容,本章要点:掌握C++/VC++与C语言不同之处。
掌握new、delete、引用、内联函数和函数重载的意义和作用掌握C++/VC++程序的基本结构面向对象方法的起源,进入80年代,由于一系列高新技术的研究,使得软件设计人员的负担越来越重,软件的实现越来越庞大,传统的结构化程序设计思想已无法满足这一要求,为此,人们就开始寻求一种更能反映人类解决问题的自然方法,这就是“面向对象”技术自80年代以来,出现了多种面向对象程序设计语言(简称为OOPL:Object Oriented Programming Language),如Ada,Smalltalk,C++和当前使用在Internet上的平台无关语言Java等由于OOPL的对象、类具有高度的抽象性,所以它能很好地表达任何复杂的数据类型,也允许程序员灵活地定义自己所需要的数据类型类本身具有很完整的封装性,可以使用它作为编程中的模块单元,满足模块独立自治的需求再加上继承性和多态性,更有助于简化大型软件和大量重复定义的模块,增强了模块的可重用性,提高了软件的可靠性,缩短了软件的开发周期面向对象的认识观,天堂(客观世界),将客观世界中的事务抽象为对象,面向对象方法的本质,面向对象方法的本质,就是强调从客观世界中固有的事物出发来构造系统,用人类在现实生活中常用的思维方式来认识、理解和描述客观事物,突出最终建立的系统使之能够映射问题域。
面向对象技术的基本概念,面向对象技术是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术面向对象程序设计从所处理的数据入手,以数据为中心而不是以功能为中心来描述系统,因为数据相对于功能而言具有更强的稳定性面向对象程序的主要结构特点,第一,程序一般由类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律;第二,程序中的一切操作都是通过向对象发送消息来实现的,对象接到消息后,启动有关函数完成相应的操作面向对象的基本概念,对象(object),客观世界中的实体或者概念,可以将对象理解为事物类(class),具有相似特点的一组对象(群体)对象由类统一描述面向对象(object-oriented),研究对象的属性和行为、对象间的关系以及对象间的活动面向对象程序由类定义和对象的使用构成对象的概念(一),面向对象技术认为客观世界是由各种各样的对象组成,每种对象都有各自的内部状态和运动规律,不同对象间的相互作用和联系就构成了各种不同的系统,构成了客观世界对象是组成一个系统的基本逻辑单元,是一个有组织形式的含有信息的实体 对象既可以表示一个抽象的概念,也可以表示一个具体的模块,既可以表示软件,也可以表示硬件。
对象的概念(二),对象(Object)由属性(Attribute)和行为(Action)两部分组成属性是用来描述对象静态特征的一个数据项行为是用来描述对象动态特征和行为的一个操作对象是包含客观世界物体特征的抽象实体,是属性和行为的封装体例:建立一个复数对象模型,类的确定(一),类(Class)是一个抽象的概念,用来描述具有相同属性和行为的一组对象的集合;类为属于它的全部对象提供了统一的抽象描述;类的内部包括属性和行为两个主要部分;类是对象集合的再抽象划分原则:寻求一个大系统中事物的共性,将具有共性的系统成分确定为一个类类的确定(二),确定某事物是一个类的步骤包括: 第一步,要判断该事物是否有一个以上的实例,如果有,则它是一个类;第二步,要判断类的实例中有没有绝对的不同点,如果没有,则它是一个类因为类的每一个实例是相似的,具有相同属性和行为类别结构不能把一组函数组合在一起构成类 !,面向对象 vs 面向过程,消息和事件,事件(Event):用户或系统中发生的任何活动消息(Message):是描述事件发生的信息消息是对象之间发出的行为请求多个消息构成一个事件注: 封装使对象成为一个相对独立的实体,其内部状态不因外界的干扰而改变,也不会涉及到其他对象;而消息机制为它们提供了一个相互间动态联系的途径,通过消息机制,把对象之间动态连接在一起,使它们的行为能互相配合,构成一个有机的运行系统。
面向对象技术的基本特征,抽象性抽象就是忽略事物中与当前目标无关的非本质特征,更充分地注意与当前目标有关的本质特征封装性封装就是把对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节继承性继承是一种联结类与类的层次模型继承性是指特殊类的对象拥有其一般类的全部属性和行为的特性 多态性 多态是指类中同一函数名对应多个具有相似功能的不同函数多态性是指可以使用相同的调用方式来调用这些具有不同功能的同名函数的特性结构化程序设计(面向过程的语言)设计思路:自顶向下、逐步求精程序结构:由模块形成的树形结构(强调的是功能抽象和模块化)基本组成结构:顺序、选择、循环程序=数据结构+算法+程序设计语言+语言环境,程序设计方法的发展,面向对象的方法设计思路:对客观事物的抽象程序特点:对类(对象的存在形式)进行结构化程序设计(强调的是功能抽象和数据抽象)类提供简单的对外接口C++:在C语言基础上扩充的,C语言的超集 支持OOP的最主要代表语言,程序=对象+对象+…+对象对象=算法+数据结构+程序设计语言+语言环境,面向对象程序设计优于传统的结构化程序设计,其优越性表现在,它有希望解决软件工程的两个主要的问题——软件复杂性控制和软件生产率的提高,此外它还符合人类的思维习惯,能够自然地表现现实世界的实体和问题。
20世纪60年代,Simula语言就具有了类和对象的概念70年代初,美国Xerox Palo Alto研究中心推出了Smalltalk,它完整地体现并进一步丰富了面向对象的概念混合型面向对象程序设计语言,如 C++,这类语言一般是在传统的过程化语言中加入了各种面向对象的语言机制,它所强调的是运行效率纯面向对象程序设计语言,如 Java语言面向对象程序设计语言,Visual c++的发展,1989年 Turbo C Borland,1991年 Turbo C++1.01 Borland,1992年 Borland C/C++3.0 Borland,1995年 Visual C++1.0 Microsoft,1998年 Visual C++6.0 Microsoft,2001年 Visual C#.net Microsoft,一个简单的C++程序,// C++程序的基本结构#include






![河南新冠肺炎文件-豫建科[2020]63号+豫建科〔2019〕282号](http://img.jinchutou.com/static_www/Images/s.gif)





