Delphi面向对象的编程方法(一)

作者&投稿:脂歪 (若有异议请与网页底部的电邮联系)

  Delphi的编程语言是以Pascal为基础的 Pascal语言具有可读性好 编写容易的特点 这使得它很适合作为基础的开发语言 同时 使用编译器创建的应用程序只生成单个可执行文件( EXE) 正是这种结合 使得Pascal成为Delphi这种先进开发环境的编程语言

    本章中 我们将讨论Object Pascal的主要特点 并讲解如何在事件处理过程和其他应用程序中 使用它来编制程序代码 本章将讲解Delphi应用程序中最常用的Object Pascal语法 而不是Pascal语言的一切细节 如果您完全不熟悉Pascal编程 请参阅一些基础的Pascal教程 如果您具有编程经验 并能熟练地使用其他流行程序语言 您将在本章的Object Pascal中发现一些相同的概念 如果您已经熟悉了Borland Pascal 就可以快速浏览或跳过本章  

   编写Object Pascal程序代码 

  在本章中 我们将从熟悉Pascal编程的角度 配合实例 讲解Object Pascal编程的基本方法

  在编写自己的Object Pascal程序时 要注意程序的可读性 Pascal语言是英式结构语言 在程序中选择合适的缩排 大小写风格 并在需要时将程序代码分行 会使得程序代码能够很容易地被自己和他人读懂 一般的程序员都有这样的体验 如果不给程序加上适当的注解 一段时间后 自己也难以理清程序的流程 给程序及时地加上注释是良好的编程习惯 Delphi的注释需要加注在{}之间 编辑器会把它们处理成为空白 Delphi保留了Borland Pascal编辑器的风格 关键字采用黑体字 被注释的部分会变暗 这使得编程风格良好 易读易写  

   编写赋值语句 

        在事件处理过程中 最常用到的工作就是把一个新值赋给一个属性或变量 在设计用户界面时 可以使用Object Inspector(Object Inspector)来改变其属性 但有时需要在程序执行时改变属性的值 而且有些属性只能在执行时改变 这些属性在Delphi的在线帮助的 Proprety 主题中被标为执行期属性 进行这种改变 就必须使用赋值语句

       下文的赋值语句表征一个OnClick事件 当按钮按动后 将编辑框部件Edit 的Color属性置为clRed:  procedure TForm Button Click(Sender: TObject);  begin  Edit Color := clRed;  end; 

        当按动按钮后赋值语句被执行 编辑框变成红色

        在语句中 部件的名称在属性前 中间用 表示属性的所属关系 这样就准确地指定了要将clRed值赋给哪一部件的哪一属性 赋值号为 := 不论给属性还是给变量赋值 都是将右边的值赋给左边的属性或变量

  当将一个属性值 变量 常量或文本数据赋给属性或变量时 所赋值的类型和接受此值的属性或变量的类型应相同或兼容 一个属性或变量的类型定义了此属性或变量的可能值集合 也定义了程序代码可以执行的运算 在前边的例程中 编辑框部件的Color属性和clRed的类型都是TColor 可以在在线帮助中找到一个属性的类型 另外一种方法是在Object Inspector中选定该属性值段 并按下F 键 则类型将在属性说明的结尾处列出 例如Color属性列出下边的语句  

  Property Color : TColor; 

  有些属性是只读(Read Only)的 它们只能被读取 不能被改变 请查阅在线帮助 在Delphi中这些只读属性都有注解  

   标识符的说明与使用 

  标识符是Delphi应用程序中一些量的名称 这些量包括变量(var) 常量(const) 类型(type) 过程(procedure) 方法(Method)及其他 Object Pascal 在应用标识符时 必须首先说明它们 Object Pascal是强类型语言 它的编译器可以检查确保赋给变量或属性的值是正确的类型 以便于您改正错误 因为Object Pascal是编译语言 所以Delphi的执行速度要比使用解释语言快得多 在使用标识符前说明它们 可以减少程序错误并增加代码的效率  

   变量

  变量是程序代码中代表一个内存地址的标识符 而此地址的内存内容在程序代码执行时可以被改变 在使用变量前必须对它进行说明 即对它进行命名 并说明它的类型 在所有变量说明以前加上保留字var 变量说明左边是变量的名称 右边则是该变量的类型 中间用(:)隔开  

  var  Value Sum : Integer;  Line : String; 

  在窗体中加入一个名称为Edit 的编辑框 再加入一个名称(属性Name)为Add的按钮部件 并建立如下的事件处理过程

  procedure TForm addClick(Sender: TObject);  var  X Y: Integer;  begin  X := ;  Y := ;  Edit Text := IntToStr(X + Y);  end; 

  在本例中 当按动ADD按钮时 编辑框中显示值 在Object Pascal中 必须确保变量或属性被赋予类型相同或兼容的值 您可以尝试将赋给X的值改为 或去掉IntToStr函数 在编译时会出现类型不匹配的错误 这也说明了Object Pascal强类型语言的特点 Object Pascal有多个预定义的数据类型 您可以说明任何这些类型的变量

  整形 Integer的范围是 到 占 字节的内存 Shortint从 到 占 字节内存 Longint从 到 占 字节内存 Byte从 到 占 字节 Word从 到 占 字节内存 它们都是没有小数部分的数字

  实型 Single可以包含 到 位有效小数部分 占用 字节的内存 Double类可以包含 到 位有效小数部分 占用 字节的内存 Extended类型包含 到 位有效小数部分 占用 字节内存 Comp可以包含 到 位有效小数部分 占用 字节内存 以上实数类型只有在 / 选项[N+]打开才可以使用 Real可以包含 到 位有效小数部分 占用 字节内存 它只有在和以前Borland Pascal兼容的情况下才使用 否则应使用Double或Extended

  布尔型 Boolean 只包含true或False两个值 占用 字节内存

       字符型 Char 一个ASCII字符 字符串类型String一串最长可达 个ASCII字符

  指针型 Pointer 可以指向任何特定类型

       字符串型 PChar 是一个指向以零结尾的字符串的指针

  除了预定义类型外 Delphi还有自行定义的类型 上述例程的TColor就是这种类型 此外 用户还可以定义自己的数据类型 这部分内容将在下文中详细讲述

  整型类别和实型类别都各有五种类型 同一类别中 所有的类型与其他同类别的都相容 您可以将一种类型的值赋给相同类别中不同类型的变量或属性 而只需要这个值的范围在被赋值的变量或属性的可能值范围内 例如 对于一个Shortint型的变量 可以接受在 到 范围内的任意整数 例如Shortint类型的 您不能将 赋给它 因为 已经超出了Shortint的范围了 将范围检查功能打开(选用Options|Project 并在Compiler Options Page中选择Range Checking) 将会检查出一个范围错误 如果Range Checking没有被打开 那么程序代码将可以执行 但被赋值的值将不是您期望的值

  在一些情况下 您可以进行不同类型的变量或属性的赋值 一般来说 可以将一个较小范围的值赋给一个较大范围的值 例如 您可以将整型值 赋给一个接受实型值的Double属性而使得值成为 但如果将一个Double类型的值赋给整形变量 则会出现类型错误 如果您不清楚类型的兼容性 可以参阅Delphi的在线帮助中 Type Compatibility and Assignment Compatibility 主题  

   常量 

       常量在说明时就被赋予了一个值 在程序执行过程中是不可改变的 下面的例子说明了三个常量  

  const  Pi = ;  Answer = ;  ProductName = Delphi ; 

  象变量一样 常量也有类型 不同的是 常量假设其类型就是常量说明中其所代表的值的类型 上文的三个常量的类型分别是real型 整形 字符串型 常量用 = 表示两边的值是相等的  

   过程与函数 

lishixinzhi/Article/program/Delphi/201311/8549



~

Delphi面向对象的编程方法(七)
答:Delphi是基于面向对象编程的先进开发环境 面向对象的程序设计(OOP)是结构化语言的自然延伸 OOP的先进编程方法 会产生一个清晰而又容易扩展及维护的程序 一旦您为您的程序建立了一个对象 您和其他的程序员可以在其他的程序中使用这个对象 完全不必重新编制繁复的代码 对象的重复使用可以大大地节省开发时间 切实地提高您和...

Delphi面向对象的编程方法(一)
答:标识符是Delphi应用程序中一些量的名称 这些量包括变量(var) 常量(const) 类型(type) 过程(procedure) 方法(Method)及其他 Object Pascal 在应用标识符时 必须首先说明它们 Object Pascal是强类型语言 它的编译器可以检查确保赋给变量或属性的值是正确的类型 以便于您改正错误 因为Object Pascal是编译语言...

浅谈针对delphi面向对象的开发
答:面向对象的程序设计(Object Oriented Programming,OOP)指的是一种编程方法,或者 说是一种编程思想。OOP 有三大特点,即数据封装、派生和多态。如果某种编程语言符合 这三种特性,就可以说它是支持 OOP 的。Visual C 是完全支持 OOP 的。Visual Basic 只支 持数据封装,不支持派生和继承,因此它不是完...

Delphi快速入门(一)
答:这种革命性的组合,使得可视化编程与面向对象的开发框架紧密地结合起来。1.2 Delphi快速入门在这一节中,我们来开发一个小程序。随着开发的过程,逐步介绍Delphi的主要部件及其操作方法。建议读者按照本书介绍的过程,在您的电脑上直接操作。您将对Delphi的可视化编程有一个直观、快捷的了解,必将起到事半功倍的效果。1.2.1...

谁那里有西安交大的delphi教程?
答:第一章 Delphi快速入门(一) 第一章 Delphi快速入门(二)第一章 Delphi快速入门(三) 第一章 Delphi快速入门(四)第一章 Delphi快速入门(五) 第二章 Delphi面向对象的编程方法(一)第二章 Delphi面向对象的编程方法(二) 第二章 Delphi面向对象的编程方法(三)第二章 Delphi面向对象...

Delphi编程是什么意思?编程共分多少种?
答:Delphi具有以下的特性:基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。但最重要的还是Object Pascal语言,它才是一切的根本。 Object Pascal语言是在Pascal语言的基础上发展起来的,简单易学。Delphi提供了各种开发工具,包括集成环境、图像编辑(...

Delphi 面向对象的一个实现疑问
答:有几种办法:1、如果你的数组是字符串形式的,只要从TStringList继承即可。这是一个字符串数组,并且提供了相应的函数。2、如果你的数组想实现Delphi中某具体组件同样的功能,比如ListBox,你也可以直接继承相应的组件,如TListBox。3、如果是任意数组,你可以用泛型容器:比如TList等。(需要Delphi2009...

DELPHI基础教程:开发Delphi对象式数据管理功能(四)[2]
答:Filer对象的作用主要是Delphi用来在DFM文件中读写各种类型的数据(包括部件对象) 这些数据的一个本质特征是变长 而且Filer对象将读写数据操作抽象化 包装成对象提供了大量的读写方法 方便了程序的调用 因此在应用程序中可以广泛使Filer对象 充分利用Delphi的面向对象技术 而且Filer对象与Stream对象捆绑在一起...

进来看看,delphi的这种设计是不是误导了用户的面向对象编程思想
答:从方法学的角度可以认为:面向对象的方法是面向对象的世界观在开发方法中的直接运用。它强调系统的结构应该直接与现实世界的结构相对应,应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统。从程序设计的角度来看,面向对象的程序设计语言必须有描述对象及其相互之间关系的语言成分。这些程序设计...

利用Delphi开发网络数据库应用
答:Delphi 是具可视化界面的面向对象编程语言 它以其功能强大 简便易用等诸多特性 深受编程人员的欢迎 Delphi 中提供了数据库引擎 BDE(Borland Database Engine) 并内含众多的数据库调用构件 为编程人员开发客户/服务器应用程序提供了方便 通常情况下 利用 Delphi 开发数据库应用程序 可以使用TTable TData...