C++语言
l是高级语言
l支持面向对象的观点和方法
n将客观事物看做对象
n对象间通过消息传送进行沟通
n支持分类和抽象
面向过程的程序设计方法:
l机器语言、汇编语言、高级语言都支持;
l最初的目的:用于数学计算;
l主要工作:设计求解问题的过程。
l大型复杂的软件难以用面向过程的方式编写
面向对象的程序设计方法:
l由面向对象的高级语言支持;
l一个系统由对象构成;
l对象之间通过消息进行通信。
1.兼容C,支持面向过程的程序设计;
面向过程:
以事件为中心,以步骤划分问题,再一步一步地实现这些步骤。
适用于简单问题
2.支持面向对象(封装性、可重用性、安全性更好)的方法;
面向对象:
面向对象的基本概念
对象
l一般意义上的对象:现实世界中实际存在的事物。
l面向对象方法中的对象:程序中用来描述客观事物的实体。
抽象与分类
l分类依据的原则——抽象;
l抽象出同一类对象的共同属性和行为形成类;
l类与对象是类型与实例的关系。
封装
l隐蔽对象的内部细节;
l对外形成一个边界;
l只保留有限的对外接口;
l使用方便、安全性好。
继承
l意义在于软件复用;
l改造、扩展已有类形成新的类。
多态
l同样的消息作用在不同对象上,可以引起不同的行为。
以事物为中心,将客观现实中的事物看作对象,将同类的对象抽象形成类,类封装了细节,只对外暴露简单的接口,这样对象之间通过消息进行通讯。
对象具有属性(拿人举例)和行为能力
这是人类所习惯的思维方式,适用于大规模及复杂类问题。
3.支持泛型程序设计方法。
类型系统 | 静态类型,强类型,不安全 |
---|---|
实现语言 | C++、C 等 |
文件扩展名 | .c .cc .cpp .cxx .c++(源文件) .h .hh .hpp .hxx .h++(头文件) |
C++程序的开发过程
1.算法设计
设计一个计算方法,让计算机按照这个程序计算得到我们想要的结果
2.源程序编辑
将算法写成代码,写成计算机理解的形式
3.编译
专门的翻译程序将高级语言翻译成机器指令
4.连接
大型的项目需要很多部分配合,这些部分需要连接起来形成可执行程序
5.运行调试
通过运行检查是否有错