📄 10.1.1.htm
字号:
<html>
<head>
<title>编译原理</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link type="text/css" rel="stylesheet" href="../css/specification.css">
</head>
<body>
<table align="right" width="300">
<tr>
<td>
</imag>
<img src="../images/previous.gif" onmouseover="javascript:style.cursor='hand'"
onclick="vbscript:window.location.href='10.0.htm'" ></td>
<td>
<img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'"
onclick="vbscript:window.location.href='10.1.3.htm'" ></imag></td>
</tr>
</table>
<p> </p>
<p> </p>
<font class="title1">
<p align="center">第十章 面向对象的编译</font><br></p>
<table><tr><td>    </td>
<td class="content">
<p>
随着软件系统规模日趋复杂和庞大,通过利用已经做好的标准构件去构造软件系统的软件工程方法已成为一种趋势。这种方法对相应的语言工具在模块化、模块化的可重用性、模块的可扩充性和抽象性等方面提出了更高的要求。面向对象语言通过将数据和作用其上的操作封装成一种新的数据类型,实现了很好的数据抽象性;同时通过继承和组合能够方便的实现模块的可重用性和可扩充性。可见,面向对象语言的这些特征为构件化提供了可能,已被看成管理复杂软件系统的一种重要规范。
本章中,我们概述面向对象语言的重要概念和实现它们的方法。
</p>
</td></tr></table>
<a name=10.1></a>
<br><hr size=2 width=90% align=center color=red><br>
<font class="title2"><b>10.1 面向对象语言的概念</b></font>
<table><tr><td>    </td>
<td class="content">
<p>
面向对象语言除了包含我们熟知的变量、数组、结构和函数等概念外,它还引入了一些新的概念,本节只讨论其中一些重要的概念。另外,为了说明面向对象语言的编译技术,我们将以当前常用的C++语言为例。
</p>
</td></tr></table>
<p></p>
<font class="title2"><b><a name="object"></a>10.1.1 对象</b></font>
<table><tr><td>    </td>
<td class="content">
<p>
面向对象语言最基本的概念是对象。一个对象由它的状态和操作于该状态的过程组成,状态由一组属性的值表示,过程也叫做方法或行为。属性和方法共同形成了对象的特征。可见,对象封装了数据及其上的操作,它是一个独立的有约束的实体,有自己的记忆和活动。
</p>
</td></tr></table>
<p></p>
<font class="title2"><b><a name="class"></a>10.1.2 类</b></font>
<table><tr><td>    </td>
<td class="content">
<p>
面向对象语言拓宽了Pascal和C等面向过程语言中的类型概念,用户可以将一些属性和方法封装在自定义的类型中,这种类型就称为类。一个类规范了类中对象的属性和方法,一个对象要想属于一个类,它必须至少应该包含该类所具有的特征,当然还可以含有其它一些特征。(如10.1.3小节讲到的派生类对象相对于基类的情况)
类形成了面向对象语言的模块化单元,我们可以为不同类型的对象定义不同的对象类,用对象类库来实现我们的构件箱。
</p>
</td></tr></table>
<p> </p>
<table align="right" width="300">
<tr>
<td>
<img src="../images/previous.gif" onmouseover="javascript:style.cursor='hand'"
onclick="vbscript:window.location.href='10.0.htm'" ></imag></td>
<td>
<img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'"
onclick="vbscript:window.location.href='10.1.3.htm'" ></imag></td>
</tr>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -