📄 006.htm
字号:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>—DELPHI基础教程—第二章 Delphi面向对象的编程方法(一)</TITLE><META NAME="keywords" CONTENT=" DELPHI基础教程 第二章 Delphi面向对象的编程方法(一)"><META NAME="description" CONTENT=" - DELPHI基础教程 - 第二章 Delphi面向对象的编程方法(一)"><style><!--#page {position:absolute; z-index:0; left:0px; top:0px}.tt3 {font: 9pt/12pt "宋体"}.tt2 {font: 12pt/15pt "宋体"}a {text-decoration:none}a:hover {color: blue;text-decoration:underline}--></style></HEAD><body text="#000000" bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3"><TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0><TR><TD CLASS="tt3" VALIGN="top" width="8%" ><strong><A HREF="007.htm"><FONT style="FONT-SIZE: 9pt">后一页</font></A><BR><A HREF="005.htm"><FONT style="FONT-SIZE: 9pt">前一页</font></A><BR><A HREF="index.html"><FONT style="FONT-SIZE: 9pt">回目录</font></A><BR></strong></TD><TD class="tt2" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="隶书">第二章 Delphi面向对象的编程方法(一)</FONT></B></center><hr width="94%"></font><p> Delphi<font face="宋体"lang="ZH-CN">的编程语言是以</font>Pascal<font face="宋体" lang="ZH-CN">为基础的。</font>Pascal<fontface="宋体" lang="ZH-CN">语言具有可读性好、编写容易的特点,这使得它很适合作为基础的开发语言。同时,使用编译器创建的应用程序只生成单个可执行文件</font>(.EXE)<fontface="宋体" lang="ZH-CN">,正是这种结合,使得</font>Pascal<font face="宋体"lang="ZH-CN">成为</font>Delphi<font face="宋体" lang="ZH-CN">这种先进开发环境的编程语言。</font></p><p><font face="宋体" lang="ZH-CN"> 本章中,我们将讨论</font>Object Pascal<fontface="宋体" lang="ZH-CN">的主要特点,并讲解如何在事件处理过程和其他应用程序中,使用它来编制程序代码。本章将讲解</font>Delphi<fontface="宋体" lang="ZH-CN">应用程序中最常用的</font>Object Pascal<fontface="宋体" lang="ZH-CN">语法,而不是</font>Pascal<font face="宋体" lang="ZH-CN">语言的一切细节。如果您完全不熟悉</font>Pascal<fontface="宋体" lang="ZH-CN">编程,请参阅一些基础的</font>Pascal<fontface="宋体" lang="ZH-CN">教程。如果您具有编程经验,并能熟练地使用其他流行程序语言,您将在本章的</font>ObjectPascal<font face="宋体" lang="ZH-CN">中发现一些相同的概念。如果您已经熟悉了</font>BorlandPascal<font face="宋体" lang="ZH-CN">,就可以快速浏览或跳过本章。 </p></font><p>2.1 <font face="宋体" lang="ZH-CN">编写</font>Object Pascal<fontface="宋体" lang="ZH-CN">程序代码 </p></font><p><font face="宋体" lang="ZH-CN"> 在前边的章节中,我们通过例程,已经编写了几行简单的代码。在本章中,我们将从熟悉</font>Pascal<fontface="宋体" lang="ZH-CN">编程的角度,配合实例,讲解</font>Object Pascal<fontface="宋体" lang="ZH-CN">编程的基本方法。</font></p><p><font face="宋体" lang="ZH-CN"> 在编写自己的</font>Object Pascal<fontface="宋体" lang="ZH-CN">程序时,要注意程序的可读性。</font>Pascal<fontface="宋体" lang="ZH-CN">语言是英式结构语言,在程序中选择合适的缩排、大小写风格,并在需要时将程序代码分行,会使得程序代码能够很容易地被自己和他人读懂。一般的程序员都有这样的体验:如果不给程序加上适当的注解,一段时间后,自己也难以理清程序的流程。给程序及时地加上注释是良好的编程习惯。</font>Delphi<fontface="宋体" lang="ZH-CN">的注释需要加注在{}之间,编辑器会把它们处理成为空白。</font>Delphi<fontface="宋体" lang="ZH-CN">保留了</font>Borland Pascal<font face="宋体" lang="ZH-CN">编辑器的风格,关键字采用黑体字,被注释的部分会变暗,这使得编程风格良好,易读易写。 </p></font><p>2.1.1 <font face="宋体" lang="ZH-CN">编写赋值语句 </p></font><p><font face="宋体" lang="ZH-CN"> 在事件处理过程中,最常用到的工作就是把一个新值赋给一个属性或变量。在设计用户界面时,可以使用</font>ObjectInspector(Object Inspector)<font face="宋体" lang="ZH-CN">来改变其属性;但有时需要在程序执行时改变属性的值,而且有些属性只能在执行时改变,这些属性在</font>Delphi<fontface="宋体" lang="ZH-CN">的在线帮助的“</font>Proprety<font face="宋体"lang="ZH-CN">”主题中被标为执行期属性。进行这种改变,就必须使用赋值语句。</font></p><p><font face="宋体" lang="ZH-CN"> 下文的赋值语句表征一个</font>OnClick<fontface="宋体" lang="ZH-CN">事件。当按钮按动后,将编辑框部件</font>Edit1<fontface="宋体" lang="ZH-CN">的</font>Color<font face="宋体" lang="ZH-CN">属性置为</font>clRed:</p><p>procedure TForm1.Button1Click(Sender: TObject);</p><p>begin</p><p>Edit1.Color := clRed;</p><p>end; </p><p><font face="宋体" lang="ZH-CN"> 当按动按钮后赋值语句被执行,编辑框变成红色。</font></p><p><font face="宋体" lang="ZH-CN"> 在语句中,部件的名称在属性前,中间用“</font>.<fontface="宋体" lang="ZH-CN">”表示属性的所属关系。这样就准确地指定了要将</font>clRed<fontface="宋体" lang="ZH-CN">值赋给哪一部件的哪一属性。赋值号为“</font>:=<fontface="宋体" lang="ZH-CN">”,不论给属性还是给变量赋值,都是将右边的值赋给左边的属性或变量。</font></p><p><font face="宋体" lang="ZH-CN"> 当将一个属性值、变量、常量或文本数据赋给属性或变量时,所赋值的类型和接受此值的属性或变量的类型应相同或兼容。一个属性或变量的类型定义了此属性或变量的可能值集合,也定义了程序代码可以执行的运算。在前边的例程中,编辑框部件的</font>Color<fontface="宋体" lang="ZH-CN">属性和</font>clRed<font face="宋体" lang="ZH-CN">的类型都是</font>TColor<fontface="宋体" lang="ZH-CN">。可以在在线帮助中找到一个属性的类型;另外一种方法是在</font>ObjectInspector<font face="宋体" lang="ZH-CN">中选定该属性值段,并按下</font>F1<fontface="宋体" lang="ZH-CN">键,则类型将在属性说明的结尾处列出,例如</font>Color<fontface="宋体" lang="ZH-CN">属性列出下边的语句: </p></font><p>Property Color : TColor; </p><p><font face="宋体" lang="ZH-CN"> 有些属性是只读</font>(Read Only)<fontface="宋体" lang="ZH-CN">的,它们只能被读取,不能被改变。请查阅在线帮助,在</font>Delphi<fontface="宋体" lang="ZH-CN">中这些只读属性都有注解。 </p></font><p>2.1.2 <font face="宋体" lang="ZH-CN">标识符的说明与使用 </p></font><p><font face="宋体" lang="ZH-CN"> 标识符是</font>Delphi<fontface="宋体" lang="ZH-CN">应用程序中一些量的名称,这些量包括变量</font>(var)<fontface="宋体" lang="ZH-CN">、常量</font>(const)<font face="宋体" lang="ZH-CN">、类型</font>(type)<fontface="宋体" lang="ZH-CN">、过程</font>(procedure)<font face="宋体" lang="ZH-CN">、方法</font>(Method)<fontface="宋体" lang="ZH-CN">及其他,</font>Object Pascal <font face="宋体"lang="ZH-CN">在应用标识符时,必须首先说明它们。</font>Object Pascal<fontface="宋体" lang="ZH-CN">是强类型语言,它的编译器可以检查确保赋给变量或属性的值是正确的类型,以便于您改正错误。因为</font>ObjectPascal<font face="宋体" lang="ZH-CN">是编译语言,所以</font>Delphi<fontface="宋体" lang="ZH-CN">的执行速度要比使用解释语言快得多。在使用标识符前说明它们,可以减少程序错误并增加代码的效率。 </p></font><p>2.1.2.1 <font face="宋体" lang="ZH-CN">变量</font></p><p><font face="宋体" lang="ZH-CN"> 变量是程序代码中代表一个内存地址的标识符,而此地址的内存内容在程序代码执行时可以被改变。在使用变量前必须对它进行说明,即对它进行命名,并说明它的类型。在所有变量说明以前加上保留字</font>var<fontface="宋体" lang="ZH-CN">。变量说明左边是变量的名称,右边则是该变量的类型,中间用</font>(:)<fontface="宋体" lang="ZH-CN">隔开。 </p></font><p>var</p><p>Value ,Sum : Integer;</p><p>Line : String; </p><p><font face="宋体" lang="ZH-CN"> 在窗体中加入一个名称为</font>Edit1<fontface="宋体" lang="ZH-CN">的编辑框,再加入一个名称</font>(<font face="宋体"lang="ZH-CN">属性</font>Name)<font face="宋体" lang="ZH-CN">为</font>Add<fontface="宋体" lang="ZH-CN">的按钮部件,并建立如下的事件处理过程:</font></p><p>procedure TForm1.addClick(Sender: TObject);</p><p>var</p><p>X , Y: Integer;</p><p>begin</p><p>X := 100;</p><p>Y := 20;</p><p>Edit1.Text := IntToStr(X + Y);</p><p>end; </p><p><font face="宋体" lang="ZH-CN"> 在本例中,当按动</font>ADD<fontface="宋体" lang="ZH-CN">按钮时,编辑框中显示值</font>120<font face="宋体"lang="ZH-CN">。在</font>Object Pascal<font face="宋体" lang="ZH-CN">中,必须确保变量或属性被赋予类型相同或兼容的值。您可以尝试将赋给</font>X<fontface="宋体" lang="ZH-CN">的值改为</font>100.0<font face="宋体" lang="ZH-CN">,或去掉</font>IntToStr<fontface="宋体" lang="ZH-CN">函数,在编译时会出现类型不匹配的错误,这也说明了</font>ObjectPascal<font face="宋体" lang="ZH-CN">强类型语言的特点。 </p></font><p>2.1.2.2 <font face="宋体" lang="ZH-CN">预定义类型 </p></font><p> Object Pascal<font face="宋体"lang="ZH-CN">有多个预定义的数据类型,您可以说明任何这些类型的变量:</font></p><p><font face="宋体" lang="ZH-CN"> 整形:</font>Integer<fontface="宋体" lang="ZH-CN">的范围是</font>-32768<font face="宋体" lang="ZH-CN">到</font>32767,<fontface="宋体" lang="ZH-CN">占</font>2<font face="宋体" lang="ZH-CN">字节的内存;</font>Shortint<fontface="宋体" lang="ZH-CN">从</font>-128<font face="宋体" lang="ZH-CN">到</font>127<fontface="宋体" lang="ZH-CN">,占</font>1<font face="宋体" lang="ZH-CN">字节内存;</font>Longint<fontface="宋体" lang="ZH-CN">从</font>-2147443648<font face="宋体" lang="ZH-CN">到</font>2147483647<font face="宋体" lang="ZH-CN">占</font>4<font face="宋体" lang="ZH-CN">字节内存;</font>Byte<fontface="宋体" lang="ZH-CN">从</font>0<font face="宋体" lang="ZH-CN">到</font>255<fontface="宋体" lang="ZH-CN">,占</font>1<font face="宋体" lang="ZH-CN">字节;</font>Word<fontface="宋体" lang="ZH-CN">从</font>0<font face="宋体" lang="ZH-CN">到</font>65535<fontface="宋体" lang="ZH-CN">,占</font>2<font face="宋体" lang="ZH-CN">字节内存。它们都是没有小数部分的数字。</font></p><p><font face="宋体" lang="ZH-CN"> 实型:</font>Single<fontface="宋体" lang="ZH-CN">可以包含</font>7<font face="宋体" lang="ZH-CN">到</font>8<fontface="宋体" lang="ZH-CN">位有效小数部分,占用</font>4<font face="宋体"lang="ZH-CN">字节的内存;</font>Double<font face="宋体" lang="ZH-CN">类可以包含</font>15<fontface="宋体" lang="ZH-CN">到</font>16<font face="宋体" lang="ZH-CN">位有效小数部分,占用</font>8<fontface="宋体" lang="ZH-CN">字节的内存;</font>Extended<font face="宋体"lang="ZH-CN">类型包含</font>19<font face="宋体" lang="ZH-CN">到</font>20<fontface="宋体" lang="ZH-CN">位有效小数部分,占用</font>10<font face="宋体"lang="ZH-CN">字节内存;</font>Comp<font face="宋体" lang="ZH-CN">可以包含</font>19<fontface="宋体" lang="ZH-CN">到</font>20<font face="宋体" lang="ZH-CN">位有效小数部分,占用</font>8<fontface="宋体" lang="ZH-CN">字节内存。以上实数类型只有在</font>8087/80287<fontface="宋体" lang="ZH-CN">选项</font>[N+]<font face="宋体" lang="ZH-CN">打开才可以使用。</font>Real<fontface="宋体" lang="ZH-CN">可以包含</font>11<font face="宋体" lang="ZH-CN">到</font>12<fontface="宋体" lang="ZH-CN">位有效小数部分,占用</font>6<font face="宋体"lang="ZH-CN">字节内存。它只有在和以前</font>Borland Pascal<font face="宋体"lang="ZH-CN">兼容的情况下才使用,否则应使用</font>Double<font face="宋体"lang="ZH-CN">或</font>Extended<font face="宋体" lang="ZH-CN">。</font></p><p><font face="宋体" lang="ZH-CN"> 布尔型:</font>Boolean<fontface="宋体" lang="ZH-CN">,只包含</font>true<font face="宋体" lang="ZH-CN">或</font>False<fontface="宋体" lang="ZH-CN">两个值,占用</font>1<font face="宋体" lang="ZH-CN">字节内存。</font></p><p><font face="宋体" lang="ZH-CN"> 字符型:</font>Char<fontface="宋体" lang="ZH-CN">,一个</font>ASCII<font face="宋体" lang="ZH-CN">字符;字符串类型</font>String<fontface="宋体" lang="ZH-CN">一串最长可达</font>255<font face="宋体" lang="ZH-CN">个</font>ASCII<fontface="宋体" lang="ZH-CN">字符。</font></p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -