第一章 绪论
计算机系统
计算机系统基本概念
-
计算机硬件
-
计算程序语言
- 计算机解决问题是程序控制的;
- 程序就是操作步骤;
- 程序要使用语言来表达。
-
机器语言
- 计算机能识别的是机器语言;
- 机器语言指令是由0和1编码的。
-
计算机指令系统
- 机器硬件能够识别的语言(机器语言)的集合;
- 它是软件和硬件的主要界面。
-
计算机软件
- 一系列按照特定顺序组织的计算机数据和指令的集合;
- 一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件;
- 软件包括程序和文档。
-
计算机程序
- 指令的序列;
- 描述解决问题的方法和数据。
计算机语言和程序设计方法
-
机器语言
- 由二进制代码构成;
- 计算机硬件可以识别;
- 可以表示简单的操作;
- 例如:加法、减法、数据移动等等;
-
汇编语言
- 将机器指令映射为助记符,如 ADD、SUB、mov 等;
- 抽象层次低,需要考虑机器细节。
-
高级语言
- 关键字、语句容易理解;
- 有含义的数据命名和算式;
- 抽象层次较高;
- 屏蔽了机器的细节。
-
C++语言
- 高级语言;
- 支持面向对象的观点和方法;
- 将客观事物看做对象;
- 对象间通过消息传送进行沟通;
- 支持分类和抽象。
-
面向过程的程序设计方法:
- 机器语言、汇编语言、高级语言都支持;
- 最初的目的:用于数学计算;
- 主要工作:设计求解问题的过程;
- 大型复杂的软件难以用面向过程的方式编写。
-
面向对象的程序设计方法:
- 由面向对象的高级语言支持;
- 一个系统由对象构成;
- 对象之间通过消息进行通信。
面向对象的基本概念
-
对象
- 一般意义上的对象:现实世界中实际存在的事物。
- 面向对象方法中的对象:程序中用来描述客观事物的实体。
-
抽象与分类
- 分类依据的原则:抽象;
- 抽象出同一类对象的共同属性和行为形成类;
- 类与对象是类型与实例的关系。
-
封装
- 隐蔽对象的内部细节;
- 对外形成一个边界;
- 只保留有限的对外接口;
- 使用方便、安全性好。
-
继承
- 意义在于软件复用;
- 改造、扩展已有类形成新的类。
-
多态
- 同样的消息作用在不同对象上,可以引起不同的行为。