面向对象的程序设计语言——C++ 第二版 教学课件 作者 陈志泊 第01章.ppt
文本预览下载声明
第1章 C++语言概述 本章主要内容 理解和领会结构化程序设计方法与面向对象程序设计方法的各自特点、区别和相互联系。 理解和掌握面向对象的程序设计方法中的有关概念,如类、对象、封装、继承、消息和多态性等。 熟练掌握利用VC++ 6.0生成简单应用程序的步骤。 掌握C++程序的基本组成和框架结构,注意它与C程序间的区别和联系。 理解和掌握名空间机制以及C++的输入输出过程。 1.1 从面向过程到面向对象的程序设计 1.1.1 传统的结构化程序设计方法 1.使用传统的结构化程序设计方法设计程序 步骤1:根据实际问题的要求和对其进行分析,找出解决问题的方法和步骤(即设计算法) 。 步骤2:为了在计算机上具体实现出算法,需要为该种算法选择或构造适当的数据结构,通过对数据的操纵过程体现算法的思想。 步骤3:利用SP方法设计程序的结构为: 【例1-1】最简单的C++程序 hello world. 【例1-2】一个简单的面向过程的C++程序。 2.SP方法的特点 优点: (1)力求算法描述准确。 (2)对每一子过程模块容易进行程序正确性证明。 缺点: (1)本质上是面向“过程”的,而“过程”和“操作”又是不稳定和多变的,因此不能直接反映人类求解问题的思路。 (2)程序代码可重用性差。 (3)维护程序的一致性困难。 1.1.2 面向对象的程序设计方法 1.面向对象的有关概念 面向对象程序设计(Object-Oriented Programming OOP)方法强调以问题域(现实世界)中的事物为中心来思考和认识问题,并按照事物的本质特征将其抽象为对象,以作为构成软件系统的基础。 【例1-3】是一个学生信息管理的实例,下面结合它来理解面向对象程序设计的一些基本概念: (1)对象(Object):对象的属性(Attribute)描述了对象的状态和特征,对象的方法(Method)说明了对象的行为和功能 。 (2)类(Class) :具有相似属性和行为的一组对象。 (3)封装(Encapsulation) :具有两方面含义。 一方面是指将对象的属性和方法形成一个不可分割的整体; 另一方面是指“数据隐藏”,即对象只应保留有限的对外接口(即和外界联系的方法),并尽可能隐藏对象内部的具体细节。 (4)继承(Inheritance) :面向对象的程序设计中,允许在已有类基础上通过增加新特征而派生出新的类,称为继承。 (5)消息(Message) :对象之间也是相互联系,当一个对象向对方发出一个服务请求时,收到请求的对象会响应这个请求并完成指定的服务。这种向对象发出的服务请求就称为消息。 (6)多态性(Polymorphism) :当程序中的其他部分发出同样的消息时,按照接收消息对象的不同能够自动执行类中相应的方法。 2. 面向对象的程序设计方法(OOP方法) 在OOP中,将“对象”作为系统中最基本的运行实体,整个程序即由各种不同类型的对象组成; 各对象既是一个独立的实体,又可通过消息相互作用,对象中的方法决定要向哪个对象发消息、发什么消息以及收到消息时如何进行处理等。 一个对象的内部结构如下: 3.OOP方法的特点 (1)OOP方法以“对象”或“数据”为中心。 (2)引入了“类”(Class)的概念。 (3)OOP方法的模块性与继承性保证了新的应用程序设计在原有对象的数据类型和功能的基础上通过重用、扩展和细化来进行。 1.1.3 OOP方法与SP方法的比较 (1)SP方法以过程为中心构造应用程序,数据和处理数据的过程代码是分离的、相互独立的实体,设计出的程序可重用代码少,且当代码量增加时维护数据和代码的一致性困难。 (2)OOP方法中,过程和数据被结合在一起形成了被称为对象的实体。 对象所具有的封装性和继承性使得代码重用成为可能,并大大减少了程序出错的可能性。 (3)OOP方法吸收了结构化程序设计方法的优点,同时引入了新概念、新机制并建立了比传统方法更高层次的抽象。 1.2 C++语言的产生 C++语言是在C语言的基础上为支持面向对象程序设计而研制的一种编程语言。 1980年,贝尔实验室开始对C进行改进和扩充。经过不断完善,成为目前的C++。 C++包括了C的全部特征和优点,同时又添加了对面向对象编程(OOP)的完全支持。 1.3 C++语言的特点 (1)C中原有的规则和语句在C++中仍可继续使用,但C++又增添了很多新风格。 (2)C++的程序由一到若干个函数构成,但其中必须有且仅有一个名称为main的函数存在。 (3)C++的函数是由两部分构成的,即函数的说明部分和函数体。 (4)C++对程序中的名称的大小写是“敏感”的 。 (5)可以用
显示全部