40楼#
发布于:2005-04-19 23:24
<P>2</P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">(5) <FONT face=宋体>若边表中包含了指向它所属多边形的指针,那么指向该边的指针必在相应的多边形中出现。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">7<FONT face=宋体>、应用 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>三维边界法一般用于表示规则形体,如建筑物,对于自然界中的复杂形体如岩石的外表,理论上可找到一在误差范围内逼近的适合平面多面体,但这种逼近受多因素的制约。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <FONT face=宋体>对于不规则形体,可在形体的外表面</FONT>s<FONT face=宋体>,可测一组点</FONT>p1,p2<FONT face=宋体>…</FONT>pn<FONT face=宋体>坐标,再建这些点的关系,即结构图,决定顶点连接的不同方式。同样数据点,由于连接方式不同,构成的平面多面体也不同。其中最重要的一种方法就是每个面均是三角形的平面多面体,类似</FONT>TIN<FONT face=宋体>结构。但即使这样,同一组点仍可得到不同的平面多面体。因此,需要研究拥有了哪些特征之后,才能更确切地逼近原来的三维形体</FONT>? <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <FONT face=宋体>这种逼近有两种形式: <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <FONT face=宋体>表面</FONT>S0<FONT face=宋体>的逼近:以确定后的平面多面体的表面作为对原三维形体的表面</FONT>S0<FONT face=宋体>的逼近,着眼于形体的边界表示。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <FONT face=宋体>三维形体的逼近:给出一系列的四面体,这些四面体的集合就是对原三维形体的逼近。着眼于形体的分解表示。</FONT> <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=center>第三章<FONT face="Times New Roman"> </FONT>空间数据库 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>§<FONT face="Times New Roman">3-1 </FONT>空间数据库的概念 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>空间数据库是空间数据库系统的简称。 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>一、空间数据库 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">1</FONT>、定义: <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman"> </FONT>是地理信息系统在计算机物理存储介质上存储和应用的相关的地理空间数据的总合。 <p></p></P><P><TABLE 284.25pt; mso-cellspacing: 0cm; mso-padding-alt: 0cm 0cm 0cm 0cm" cellSpacing=0 cellPadding=0 width=379 border=0><TR 0"><TD #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" vAlign=top width=198><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman"> </FONT>书刊 <p></p></P></TD><TD #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 135.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" vAlign=top width=181><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>数据 <p></p></P></TD></TR><TR 1"><TD #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" vAlign=top width=198><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>逻辑划分<FONT face="Times New Roman"> </FONT>词<FONT face="Times New Roman"> </FONT>句<FONT face="Times New Roman"> </FONT>段<FONT face="Times New Roman"> </FONT>目<FONT face="Times New Roman"> </FONT>节<FONT face="Times New Roman"> </FONT>章 <p></p></P></TD><TD #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 135.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" vAlign=top width=181><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>数据项、记录、文件和数据库 <p></p></P></TD></TR><TR 2; mso-yfti-lastrow: yes"><TD #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 148.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" vAlign=top width=198><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>物理划分<FONT face="Times New Roman"> </FONT>字<FONT face="Times New Roman"> </FONT>行<FONT face="Times New Roman"> </FONT>页<FONT face="Times New Roman"> </FONT>期<FONT face="Times New Roman"> </FONT>卷 <p></p></P></TD><TD #ece9d8; PADDING-RIGHT: 0cm; BORDER-TOP: #ece9d8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 135.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" vAlign=top width=181><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>比特、字节、字、块、桶和卷 <p></p></P></TD></TR></TABLE></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">2</FONT>、空间数据特征<FONT face="Times New Roman">: <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">1</FONT>)空间特征:一般需要建立空间索引。 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">2</FONT>)非结构化特征: <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman"> </FONT>结构化的,即满足第一范式<FONT face="Times New Roman">:</FONT>每条记录定长,且数据项是原子数据<FONT face="Times New Roman">.</FONT>而空间数据数据项变长,对象包含一个或多个对象,需要嵌套记录。 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">3</FONT>)空间关系特征:<FONT face="Times New Roman"> </FONT>拓扑数据给空间数据的一致性和完整性维护增加了复杂性。<FONT face="Times New Roman"> <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">4</FONT>)分类编码特征: <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>一种地物类型对应一个属性数据表文件。多种地物类型共用一个属性数据表文件。 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">5</FONT>)海量数据特征。 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">3</FONT>、空间数据库的特点 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">1</FONT>)数据量特别大; <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">2</FONT>)数据种类多,复杂; <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">3</FONT>)数据应用面相当广。 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>在建立地理空间数据库时,一方面应遵循和应用通用的数据库的原理和方法;另一方面又必须采取一些特殊的技术和方法来解决其他数据库所没有的问题。 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>二、空间数据库管理系统 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>是指能够对物理介质上存储的地理空间数据进行语义和逻辑上的定义; <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman"> </FONT>提供必须的空间数据查询、检索和存取功能; <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman"> </FONT>能够空间数据进行有效的维护和更新的一套软件系统。 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>三、空间数据库应用系统 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>提供给用户访问和操作空间数据库的用户界面,是应用户数据处理需求而建立的具有数据库访问功能的应用软件。<FONT face="Times New Roman"> </FONT>一般需要进行二次开发。<FONT face="Times New Roman"> <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>§<FONT face="Times New Roman">3-2 </FONT>空间数据模型 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>数据结构:是指数据的组织形式,在计算机存储、管理和处理的数据逻辑结构。 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman"> </FONT>数据模型:是描述实体及其相互关系的数学描述,是空间数据库建立的逻辑模型。 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman"> </FONT>两者之间的关系:混合的交叉关系,并不一一对应,世界多样性,确定数据模型,确保实用性,(便于模型化、存储、检查和分析),它并不基于空间数据结构。 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>一、传统数据模型<FONT face="Times New Roman"> <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>自学:用三种模型(层次、网络、关系)组织图: <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>二、传统模型存储空间数据的局限:<FONT face="Times New Roman"> <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">1</FONT>、层次模型用于<FONT face="Times New Roman">GIS</FONT>地理数据库的局限性 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman"> </FONT>层次模型反映了实体之间的层次关系,简单、直观,易于理解,并在一定程度上支持数据的重构。 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman"> </FONT>用于<FONT face="Times New Roman">GIS</FONT>地理数据库存在的主要问题是:<FONT face="Times New Roman"> <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">1</FONT>)很难描述复杂的地理实体之间的联系,描述多对多的关系时导致物理存储上的冗余;? <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">2</FONT>)对任何对象的查询都必须从层次结构的根结点开始,低层次对象的查询效率很低,很难进行反向查询;? <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">3</FONT>)数据独立性较差,数据更新涉及许多指针,插入和删除操作比较复杂,父结点的删除意味着其下层所有子结点均被删除;? <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">4</FONT>)层次命令具有过程式性质,要求用户了解数据的物理结构,并在数据操纵命令中显式地给出数据的存取路径;? <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">5</FONT>)基本不具备演绎功能和操作代数基础。<FONT face="Times New Roman"> <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">2</FONT>、网状模型用于<FONT face="Times New Roman">GIS</FONT>地理数据库的局限性 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>网状模型反映地理世界中常见的多对多关系,支持数据重构,具有一定的数据独立和数据共享特性,且运行效率较高。 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>用于<FONT face="Times New Roman">GIS</FONT>地理数据库的主要问题如下: <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">1</FONT>)由于网状结构的复杂性,增加了用户查询的定位困难,要求用户熟悉数据的逻辑结构,知道自己所处的位置;? <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">2</FONT>)网状数据操作命令具有过程式性质,存在与层次模型相同的问题;? <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">3</FONT>)不直接支持对于层次结构的表达;? <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">4</FONT>)基本不具备演绎功能和操作代数基础。<FONT face="Times New Roman"> <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left><FONT face="Times New Roman">3</FONT>、关系模型用于<FONT face="Times New Roman">GIS</FONT>地理数据库的局限性 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-pagination: widow-orphan" align=left>在<FONT face="Times New Roman">GIS</FONT>分析中,常常需要综合运用实体之间的空间关系和属性数据,要求<FONT face="Times New Roman">GIS</FONT>数据库能对实体的属性数据和空间数据进行综合管理。 <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>4)空间数据通常是变长的,而一般RDBMS只允许记录的长度设定为固定长度,此外,通用</FONT>DBMS<FONT face=宋体>难于存储和维护空间数据的拓扑关系。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> 5<FONT face=宋体>)一般</FONT>RDBMS<FONT face=宋体>都难以实现对空间数据的关联、连通、包含、叠加等基本操作。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> 6<FONT face=宋体>)一般</FONT>DBMS<FONT face=宋体>不能支持</FONT>GIS<FONT face=宋体>需要的一些复杂图形功能。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> 7<FONT face=宋体>)一般</FONT>RDBMS<FONT face=宋体>难以支持复杂的地理信息,因为单个地理实体的表达需要多个文件、多条记录,包括大地网、特征坐标、拓扑关系、属性数据和非空间专题属性等方面信息。</FONT> <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">8<FONT face=宋体>)</FONT>GIS<FONT face=宋体>管理的是具有高度内部联系的数据,为了保证地理数据库的完整性,需要复杂的安全维护系统,而这些完整性约束条件必须与空间数据一起存储,由地理数据库来维护系统数据的完整性。否则,一条记录的改变会导致错误、相互矛盾的数据存在,而一般</FONT>RDBMS<FONT face=宋体>难以实现这一功能。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>三、面向对象模型 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>一)基本概念</FONT> <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">1<FONT face=宋体>、对象: <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>含有数据和操作方法的独立模块,可以认为是数据和行为的统一体。如一个城市、一棵树均可作为地理对象。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>·具有一个唯一的标识,以表明其存在的独立性;? <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>·具有一组描述特征的属性,以表明其在某一时刻的状态——静态属性—数据;? <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>·具有一组表示行为的操作方法,用以改变对象的状态。</FONT>--<FONT face=宋体>作用、功能—函数、方法。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>对象的划分:根据对象的共性,及对它的研究目的来划分,与具体的目的、性质相联系,不同的目的就会有不同划分。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>划分原则:找共同点,所有具有共性的系统成份就可为一种对象。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">2<FONT face=宋体>、类: <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>共享同一属性和方法集的所有对象的集合构成类。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>如河流均具有共性,如名称、长度、流域面积等,以及相同的操作方法,如查询、计算长度、求流域面积等,因而可抽象为河流类。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">3<FONT face=宋体>、实例 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <FONT face=宋体>被抽象的对象,类的一个具体对象,称为,如长江、黄河等。真正抽象的河流不存在,只存在河流的例子。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>类是抽象的对象,是实例的组合,类、实例是相对的,类和实例的关系为上下层关系。类</FONT>---<FONT face=宋体>申请实例</FONT>---<FONT face=宋体>成为具体对象。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">4<FONT face=宋体>、消息: <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <FONT face=宋体>对象之间的请求和协作。(并不独立存在)对象之间的关系,如鼠标点,就是消息,点某按纽,就是对按纽提出请求。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">(<FONT face=宋体>二</FONT>) <FONT face=宋体>面向对象的特性 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">1<FONT face=宋体>、抽象:是对现实世界的简明表示。形成对象的关键是抽象,对象是抽象思维的结果。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">2<FONT face=宋体>、封装:一般讲,包起来,将方法与数据放于一对象中,以使对数据的操作只可通过该对象本身的方法来进行。在这,指把对象的状态及其操作集成化,使之不受外界影响。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">3<FONT face=宋体>、多态: <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>是指同一消息被不同对象接收时,可解释为不同的含义。同一消息,对不同对象,功能不同。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>功能重载</FONT>-><FONT face=宋体>多态,简化消息,但功能不减。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>(三)四种核心技术 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">1<FONT face=宋体>、分类 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>分类是把一组具有相同属性结构和操作方法的对象归纳或映射为一个公共类的过程。如城镇建筑可分为行政区、商业区、住宅区、文化区等若干个类。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">2<FONT face=宋体>、概括 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>将相同特征和操作的类再抽象为一个更高层次、更具一般性的超类的过程。子类是超类的一个特例。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>一个类可能是超类的子类,也可是几个子类的超类。所以,概括可能有任意多层次。概括技术避免了说明和存储上的大量冗余。这需要一种能自动地从超类的属性和操作中获取子类对象的属性和操作的机制,即继承机制。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>聚集是把几个不同性质类的对象组合成一个更高级的复合对象的过程。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">4<FONT face=宋体>、联合 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>相似对象抽象组合为集合对象。其操作是成员对象的操作集合。</FONT> <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>(四)面向对象数据模型的核心工具</FONT> <p></p></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">1<FONT face=宋体>、继承: <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>一类对象可继承另一类对象的特性和能力,子类继承父类的共性,继承不仅可以把父类的特征传给中间子类,还可以向下传给中间子类的子类。</FONT> <FONT face=宋体>它服务于概括。继承机制减少代码冗余,减少相互间的接口和界面。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">1<FONT face=宋体>)单重继承、多重继承;全部继承、部分继承;取代继承、包含继承 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">2<FONT face=宋体>)状态继承(数据) <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT face=宋体>子类继承父类的数据结构,子类还可定义自己新的数据结构。 <p></p></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <FONT face=宋体>子类任意使用父类的数据结构,有可能破坏封装,若只能通过发送消息来使用父类的域,又可能失去有效性,具体办法: <p></p></FONT></P>
|
|
上一页
下一页