计算机专业知识
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章 计算机专业知识
5.1 面向对象程序设计 5.2 编译原理 5.3 数据库系统原理 5.4 软件工程 5.5 计算机网络基础及其技术
5.1 面向对象程序设计
• 5.1.1程序设计概述 • 面向对象程序设计方法是指用面向对象的方法指
导程序设计的整个过程。 • 所谓面向对象是指以对象为中心来分析、设计及
5.1.3 面向对象程序设计
• 1.面向对象程序设计的两个精髓——类和对象 • (1)类(Class)——数据类型 • 类是具有相同属性和相同方法的对象的集合,它是一种
既包含数据又包含函数的抽象数据类型。 • (2)类的定义 class <类名> { Private: //私有成员 <数据成员或成员函数表>; Public: //公有成员 <数据成员或成员函数表>; Protected: //保护成员 }
进而无需考虑实现细节就能直接使用它。 2. 继承(基类和派生类):一个对象从另一个对象中
获得属性的过程;被继承的类称为基类或父类,继 承的类称为派生类或子类. 3. 多态性(虚函数、函数重载):一个方法只能有一 个名称,但可以有许多形态,程序中可以定义多 个同名的方法.
5.1.4 面向对象程序设计语言
词序列是否为给定语言的一个正确程序。在语法 分析中,给定语言用文法表示,如果给定的程序 (此时看作单词串,或机内符串)能够识别成该 文法的句子,则认为程序是正确的,否则程序是 错误的。
3. 中间代码生成
编译程序的任务是把源程序翻译成目标程 序,这个目标程序必须和源程序语义等价,也就 是说,尽管它们的语法结构完全不同,但它们所 表达的逻辑含义应完全相同。在词法分析程序和 语法分析程序对源程序的语法结构进行分析之后, 一般要由语法分析程序调用相应的语义子程序进 行语义处理。
5.1.3 面向对象程序设计
• (3)对象(Object)——数据
• 对象是包含现实世界物体特征的抽象实体,反映了 系统为之保存信息和(或)与之交互的能力。对象 = 数据 + 作用于这些数据上的操作 = 属性 (Attribute) + 方法(Method)。
• 为了区分属于同一个类的不同对象,每个对象都有 一个唯一的标识,对象是类的一个实例。
• 除此之外,词法分析还要完成其他一些相关任务: 滤掉源程序中的注释和空白,发现词法错误(编写 程序时写错关键字等)后,指出错误的位置等。
• 词法分析的主要工作就是从源程序中识别出单词并 判断单词的正确性。
2. 语法分析
• 语法分析是编译程序的核心部分。 • 语法分析的任务就是确认作为词法分析结果的单
归类的结果,便是逐步抽象的过程。 • 分类是面向对象程序设计的需要,是理解抽象的
重要手段,也是面向对象程序设计中的重要概念。 把握了分类方法,就能理解面向对象程序设计的 过程。
5.1.3 面向对象程序设计
• 面向对象程序设计有三大特征: 1. 封装(过程和数据封藏起来) • 封装代码的好处是每个人都知道如何访问代码,
构造应用程序的机制。 • 对象具有的特征: (1)万物皆为对象 (2)每个对象都有自己的惟一标识 (3)对象具有属性和行为 (4)对象具有状态 (5)对象之间依靠消息实现通信
求圆锥体积的例子
• 类:圆锥 • 类中包含: • ①数据成员:圆锥的底面半径r和圆锥的高h • ②成员函数:求圆锥体积和圆锥旋转等方法 • 求解过程: • 定义一个圆锥类的对象,我们用这个对象去访问
• OOPL(Object-Oriented Programming Language)是 指提供描述面向对象方法所涉及到的类、对象、继承和多态 等基本概念的程序设计语言。
• 它应该具有下列特征:识别性、分类性、继承性和多态性。 • 几种有代表性的OOPL: • Simula67:支持单继承、一定含义上的多态和部分动态联编 • Smalltalk:支持单继承、多态和动态联编。 • Eiffel:支持多继承、多态和动态联编。 • C++:支持多继承、多态和部分动态联编。 • Java:提供了类机制,以及有效的接口模型。支持单继承、多
4. 中间代码优化
态和动态联编。
5.2 编译原理
编译原理就是介绍如何把高级语言源程 序编译成机器语言程序的,学习该课程, 既能掌握编译程序的基本原理,还有助 于对高级语言程序设计的深层次理解, 提高开发中大型软件的能力。
5.2.2 编译程序概述
• 汇编语言及高级语言的出现,为我们学习语言、 编写程序、调试修改程序带来了方便。
• 两个精髓(类和对象)之间的关系:类是对实现中 的实体、事件、问题的高度抽象,而对象是实现中 实实在在客体。类是对象集合的抽象,对象是类的 一个实例。
5.1.3 面向对象程序设计
• 2.面向对象程序设计的两个原则 (1)抽象 抽象是具体事物的描述的一个概括。 (2)分类 • 层层分类,使概念逐渐细化,即具体化。相反,
类中求体积的方法。 • 这就是面向对象的编程思想,把求圆锥体积的方
法封装在圆锥类中,我们的工作就是去调用它里面 的方法。
5.1.1 程序设计概述
• 面向对象程序设计的优点: • (1)实现对现实世界客体的自然描述 • (2)可控制程序的复杂性 • (3)可增强程序的模块性 • (4)可提高程序的重用性 • (5)可改善程序的可维护性
Leabharlann Baidu
源程序
词法分析程序 语法分析程序
语义分析及中间 代码生成程序
优化代码
代码优化程序
目标代码生成
目标代码生成程序
目标程序 图5.2.3 编译程序结构框图
出错管理程序
1. 词法分析
• 词法分折的任务就是从左至右逐个字符地对源程序 进行扫描,进行词法检查并产生一个个单词序列, 即通过词法分析把字符序列转换成单词序列,以机 内符的形式表示单词序列。
• 计算机只能直接执行用机器语言编写的程序,用 汇编语言或高级语言编写的程序需要首先转化成 等价的机器语言程序,计算机才能执行,我们把 这种转化程序统称为翻译程序。
• 把汇编语言的翻译程序称为汇编程序,把高级语 言的翻译程序称为编译程序。
5.2.3 编译过程
词法分析
语法分析
表格管理程序
中间代码生成
5.1 面向对象程序设计 5.2 编译原理 5.3 数据库系统原理 5.4 软件工程 5.5 计算机网络基础及其技术
5.1 面向对象程序设计
• 5.1.1程序设计概述 • 面向对象程序设计方法是指用面向对象的方法指
导程序设计的整个过程。 • 所谓面向对象是指以对象为中心来分析、设计及
5.1.3 面向对象程序设计
• 1.面向对象程序设计的两个精髓——类和对象 • (1)类(Class)——数据类型 • 类是具有相同属性和相同方法的对象的集合,它是一种
既包含数据又包含函数的抽象数据类型。 • (2)类的定义 class <类名> { Private: //私有成员 <数据成员或成员函数表>; Public: //公有成员 <数据成员或成员函数表>; Protected: //保护成员 }
进而无需考虑实现细节就能直接使用它。 2. 继承(基类和派生类):一个对象从另一个对象中
获得属性的过程;被继承的类称为基类或父类,继 承的类称为派生类或子类. 3. 多态性(虚函数、函数重载):一个方法只能有一 个名称,但可以有许多形态,程序中可以定义多 个同名的方法.
5.1.4 面向对象程序设计语言
词序列是否为给定语言的一个正确程序。在语法 分析中,给定语言用文法表示,如果给定的程序 (此时看作单词串,或机内符串)能够识别成该 文法的句子,则认为程序是正确的,否则程序是 错误的。
3. 中间代码生成
编译程序的任务是把源程序翻译成目标程 序,这个目标程序必须和源程序语义等价,也就 是说,尽管它们的语法结构完全不同,但它们所 表达的逻辑含义应完全相同。在词法分析程序和 语法分析程序对源程序的语法结构进行分析之后, 一般要由语法分析程序调用相应的语义子程序进 行语义处理。
5.1.3 面向对象程序设计
• (3)对象(Object)——数据
• 对象是包含现实世界物体特征的抽象实体,反映了 系统为之保存信息和(或)与之交互的能力。对象 = 数据 + 作用于这些数据上的操作 = 属性 (Attribute) + 方法(Method)。
• 为了区分属于同一个类的不同对象,每个对象都有 一个唯一的标识,对象是类的一个实例。
• 除此之外,词法分析还要完成其他一些相关任务: 滤掉源程序中的注释和空白,发现词法错误(编写 程序时写错关键字等)后,指出错误的位置等。
• 词法分析的主要工作就是从源程序中识别出单词并 判断单词的正确性。
2. 语法分析
• 语法分析是编译程序的核心部分。 • 语法分析的任务就是确认作为词法分析结果的单
归类的结果,便是逐步抽象的过程。 • 分类是面向对象程序设计的需要,是理解抽象的
重要手段,也是面向对象程序设计中的重要概念。 把握了分类方法,就能理解面向对象程序设计的 过程。
5.1.3 面向对象程序设计
• 面向对象程序设计有三大特征: 1. 封装(过程和数据封藏起来) • 封装代码的好处是每个人都知道如何访问代码,
构造应用程序的机制。 • 对象具有的特征: (1)万物皆为对象 (2)每个对象都有自己的惟一标识 (3)对象具有属性和行为 (4)对象具有状态 (5)对象之间依靠消息实现通信
求圆锥体积的例子
• 类:圆锥 • 类中包含: • ①数据成员:圆锥的底面半径r和圆锥的高h • ②成员函数:求圆锥体积和圆锥旋转等方法 • 求解过程: • 定义一个圆锥类的对象,我们用这个对象去访问
• OOPL(Object-Oriented Programming Language)是 指提供描述面向对象方法所涉及到的类、对象、继承和多态 等基本概念的程序设计语言。
• 它应该具有下列特征:识别性、分类性、继承性和多态性。 • 几种有代表性的OOPL: • Simula67:支持单继承、一定含义上的多态和部分动态联编 • Smalltalk:支持单继承、多态和动态联编。 • Eiffel:支持多继承、多态和动态联编。 • C++:支持多继承、多态和部分动态联编。 • Java:提供了类机制,以及有效的接口模型。支持单继承、多
4. 中间代码优化
态和动态联编。
5.2 编译原理
编译原理就是介绍如何把高级语言源程 序编译成机器语言程序的,学习该课程, 既能掌握编译程序的基本原理,还有助 于对高级语言程序设计的深层次理解, 提高开发中大型软件的能力。
5.2.2 编译程序概述
• 汇编语言及高级语言的出现,为我们学习语言、 编写程序、调试修改程序带来了方便。
• 两个精髓(类和对象)之间的关系:类是对实现中 的实体、事件、问题的高度抽象,而对象是实现中 实实在在客体。类是对象集合的抽象,对象是类的 一个实例。
5.1.3 面向对象程序设计
• 2.面向对象程序设计的两个原则 (1)抽象 抽象是具体事物的描述的一个概括。 (2)分类 • 层层分类,使概念逐渐细化,即具体化。相反,
类中求体积的方法。 • 这就是面向对象的编程思想,把求圆锥体积的方
法封装在圆锥类中,我们的工作就是去调用它里面 的方法。
5.1.1 程序设计概述
• 面向对象程序设计的优点: • (1)实现对现实世界客体的自然描述 • (2)可控制程序的复杂性 • (3)可增强程序的模块性 • (4)可提高程序的重用性 • (5)可改善程序的可维护性
Leabharlann Baidu
源程序
词法分析程序 语法分析程序
语义分析及中间 代码生成程序
优化代码
代码优化程序
目标代码生成
目标代码生成程序
目标程序 图5.2.3 编译程序结构框图
出错管理程序
1. 词法分析
• 词法分折的任务就是从左至右逐个字符地对源程序 进行扫描,进行词法检查并产生一个个单词序列, 即通过词法分析把字符序列转换成单词序列,以机 内符的形式表示单词序列。
• 计算机只能直接执行用机器语言编写的程序,用 汇编语言或高级语言编写的程序需要首先转化成 等价的机器语言程序,计算机才能执行,我们把 这种转化程序统称为翻译程序。
• 把汇编语言的翻译程序称为汇编程序,把高级语 言的翻译程序称为编译程序。
5.2.3 编译过程
词法分析
语法分析
表格管理程序
中间代码生成