C++程序设计语言提案分析.pptVIP

  • 2
  • 0
  • 约2.55千字
  • 约 25页
  • 2019-12-02 发布于天津
  • 举报
电子科技大学计算机学院;1;一、面向对象的方法是在计算机语言发展过程中产生的。 早期:机器语言、汇编语言 50年代中期:FORTRAN语言引进了许多现代仍然使用的程序设计概念。 50年代后期:ALGOL60提出块结构的思想。 60年代:SIMULA67首先提出对象和类的概念,并支持类的继承,是面向对象语言的鼻祖 70年代:ADA不能全面地支持继承,称为基于对象的语言。;;;二、从C到C++ C语言是贝尔实验室为DEC公司开发PDP 系列计算机操作系统时研制的。 C作为UNIX操作系统的开发语言而广为应用 和流行。1989年制定为ANSI C标准。; 局限: 1、对类型的检查机制相对较弱、程序中的一些错误不能在编译时发现; 2、无支持代码重用的语言结构; 3、当程序规模达到一定的程度时,难以控制程序的复杂性;;1、C++是C的扩展,C是C++的子集,C++ 包括C的全部特征、属性和优点。同时,增加了对面向对象编程的完全支持。 2、与C 一致, C++程序结构采用函数驱动机制实现。 3、C++实现了类的封装,数据隐藏、继承及多态,使其代码可重用并容易维护。 4、C++是一门高效使用的程序设计语言,既可进行过程化程序设计,又可进行面向对象程序设计。;在面向过程的程序设计中,程序是处理数据的一系列过程。过程(或函数)定义为实现特定功能的一组指令。 其主要设计思想是功能分解并逐步求精。数据与程序过程分开存储,编程的主要技巧在于关注模块之间的调用关系及数据的变化。; 1、当数据量增大时,数据与处理这些数据的方法之间的分离使程序变得越来越难以理解。 2、相对于老问题的新方法都要带来额外的开销,程序的可重用性小。 ;面向对象程序设计 OOP (Object-Oriented Programming)的三要素: 对象、类和继承 面向对象程序设计的实现需要: 封装和数据隐藏技术 继承和多态性技术 ;;;例如:电脑装配声卡,早点销售点 无须知道封装体内部是如何工作就能使用的 思想称为数据隐藏。 对象实现了信息隐藏; 对象与外部通过操作接口联系,操作接口提 供了对象的功能,操作的具体实现外部是不可 见的。 对象之间是通过消息传递信息。 对象是由特定的类创造的,什么是类? 类是创建对象的样板,它包含着所创建对象 的状态描述和方法的定义。 ; 由一个特定的类所创建的的对象也称为 这个类的实例。 一个类的所有对象都有相同的数据结构, 并且共享相同的实现操作的代码,而各个对 象又有具体的不同的状态。类和对象类似于 面向过程语言中数据类型和变量。 例如:学生类和某个学生对象。 2、继承和重用 制造一种新型号的电视机可以有两种选择: 1)从草图开始重新设计 2)对现有型号加以改进(继承和重用); C++采用继承机制支持重用,不仅可重用具有特定功能的类,而且继承可以由已有的类 创造新的类。 新类共享已有类的属性,自己还具有额外 添加的属性,新类是从已有类派生的,称为派 生类或子类,已有类称为父类或基类。 在客观世界中,存在着整体和部分的关系、 一般和特殊的关系,继承将后者模型化。 汽车类, 各类汽车 昆虫类, 各类昆虫;3、多态性 封装性、继承性、多态性是构成面向对象 程序设计的三大特征。 封装性是基础 继承性是关键 多态性是补充 什么是多态性? 多态是指一个名字有多种语义,或一个相同界面有多种实现; 或是指发出同样的消息被不同类型的对象 接受而导致完全不同的行为。即对象根据所接收到的消息做出相应的操作。;;又如:在绘图系统中使用的多态性。 函数重载和运算符重载表现了最简单的多态性。 函数重载: Void f(int,int,char); Void f(char,float); Void f(int,int); Void f(int,float); 运算符重载: 为运算符+ - * / 等赋以新的含义,以 实现类对象的运算。;编译错;例1: //************************ //*******ch1.1.cpp******

文档评论(0)

1亿VIP精品文档

相关文档