621类的定义 类类型声明的一般形式: e 类名=Clas(父类名) [类成员 End (1)类名可以是任何合法的标识符,不过Dlph有一个约定,使 用大写字母T作为前缀来标识类类型。 (2) Class是保留字,它表明声明的类型是一个类类型。 (3) Class/后的括号内为父类名,表明当前声明的类派生于父类名 指定的类 (4) Class后的括号是可选的,如果不指明其父类则表示新声明的 类直接从Deph的 Tobject类继承而来。 ccccccMccccccccccc:cMMH
6.2.1 类的定义 类类型声明的一般形式: Type 类名=Class(父类名) [类成员] End; (1)类名可以是任何合法的标识符,不过Delphi有一个约定,使 用大写字母T作为前缀来标识类类型。 (2)Class是保留字,它表明声明的类型是一个类类型。 (3)Class后的括号内为父类名,表明当前声明的类派生于父类名 指定的类。 (4) Class后的括号是可选的,如果不指明其父类则表示新声明的 类直接从Dephi的Tobject类继承而来
ccccccMccccccccccc:cMMH
622类的实例化 类的实例化就是利用类的方法创建对象的过程。方法: (1)首先声明对象变量,形式如下 Va对象变量名:类名: (2)创建对象变量,分两种情况。 ①如果类是直接由 Tobject继承而来,就用如下形式创建 对象: 对象变量名:=类名 Create; ②如果类重载或覆盖了 Tobject的构造方法( Create), 则创建对象的语句形式如下: 对象变量名:=类名构造方法(参数表); 例如,如下代码就是 Average中创建一个对象的过程: Var average: Average;∥声明对象变量 average = Average, Create ∥创建对象实例 ccccccMccccccccccc:cMMH
6.2.2 类的实例化 类的实例化就是利用类的方法创建对象的过程。方法: (1)首先声明对象变量,形式如下: Var对象变量名:类名: (2)创建对象变量,分两种情况。 ①如果类是直接由Tobject继承而来,就用如下形式创建 对象: 对象变量名:=类名.Create; ②如果类重载或覆盖了Tobject的构造方法( Create), 则创建对象的语句形式如下: 对象变量名:=类名.构造方法(参数表); 例如,如下代码就是Taverage中创建一个对象的过程: Var average:Taverage; //声明对象变量 average:=Taverage,Create; //创建对象实例
623类运算符 1类型判断运算符is is运算符用来检测一个类是否与另一个类兼容,即左操作符是否是右 操作规程符的同类或子类,其语法形式如下 对象变量is类名 如果返回值为True,那么对象变量是类或其派生类的一个实例。如 果对象为ni,返回值为 false。在 Windows程序设计中,经常使用is运算 符判断组件的类型,例如: For: o to comonemtcount -1 do If Components is Tedit then redit(components[l).Text 以上代码,逐一检测窗体中的组件是否为编辑框,如果某组件是编辑 框,则清空该编辑框。 ccccccMccccccccccc:cMMH
6.2.3 类运算符 1.类型判断运算符 is is 运算符用来检测一个类是否与另一个类兼容,即左操作符是否是右 操作规程符的同类或子类,其语法形式如下: 对象变量 is 类名 如果返回值为True,那么对象变量是类或其派生类的一个实例。如 果对象为nil,返回值为false。在Windows程序设计中, 经常使用is运算 符判断组件的类型,例如: For I:0 to ComonemtCount-1 do If Components[i] is Tedit then Tedit(Components[I]).Text:=“; 以上代码,逐一检测窗体中的组件是否为编辑框,如果某组件是编辑 框,则清空该编辑框
2.类型强制转换运算符as as运算符是用来进行强制类型转换的,其语法形式如下: 对象变量as类名 as在进行类型强制转换时首先测试,然后进行转换,若 转换不成功,则引起异常 EInvalidcast。 例如, Components[i] as Tedit这条语句相当于以下 语句 If Components i is Tedit then Tedit(Components liD) Else Raise elnvalidCast Create ccccccMccccccccccc:cMMH
2. 类型强制转换运算符as as运算符是用来进行强制类型转换的, 其语法形式如下: 对象变量 as 类名 as在进行类型强制转换时首先测试,然后进行转换,若 转换不成功,则引起异常ElnvalidCast。 例如,Components[i] as Tedit 这条语句相当于以下 语句: If Components [i] is Tedit then Tedit(Components [i]) Else Raise ElnvalidCast.Create;