Delphi的类声明有两种方法,一种是继承了Delphi的内建类的声明,另一种则是完全自定义的类声明。

这两种类的区别不仅在于声明程序的不同,还会影响到对象实体的内存管理。

1 unit Unit1;
 2 
 3 interface
 4 
 5 uses
 6   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 7   Dialogs, StdCtrls, Buttons;
 8 
 9 type
10   TForm1 = class(TForm)
11     btn1: TBitBtn;
12     btn2: TBitBtn;
13     procedure btn1Click(Sender: TObject);
14     procedure btn2Click(Sender: TObject);
15   p rivate
16     { Private declarations }
17   public
18     { Public declarations }
19   end;
20 
21   TMyCalss1 = class  //声明一个继承Delphi内建类的Class类
22   public
23     value1:Integer;
24     string1:string;
25   end;
26 
27   TMyClass2 = object  //声明一个完全自定义的Object类
28   public
29     value1:Integer;
30     string1:string;
31   end;
32 
33 var
34   Form1: TForm1;
35 
36 implementation
37 
38 {$R *.dfm}
39 
40 procedure TForm1.btn1Click(Sender: TObject);
41 var
42   TTest1:TMyCalss1;
43 begin
44   TTest1 := TMyCalss1.Create;  //必须使用其父类的构造方法
45 
46   TTest1.value1 := 12;
47   TTest1.string1:= '您好';
48   ShowMessage(IntToStr(TTest1.value1) + #13 + TTest1.string1);
49 
50   TTest1.Free;            //必须使用其父类的析构方法
51 
52 end;
53 
54 
55 
56 procedure TForm1.btn2Click(Sender: TObject);
57 var
58   TTest2:TMyClass2;
59 begin
60 
61   TTest2.value1 := 34;    //不必使用Create的构造方法,可以直接构造该对象的实体,并且操作该对象的成员
62   TTest2.string1 := '我好';
63   ShowMessage(IntToStr(TTest2.value1) + #13 + TTest2.string1);
64 
65 end;
66 
67 end.

Delphi 两种类的声明方法相关推荐

  1. 前端:JS/16/JavaScript简介,lt;script标记,常用的两个客户端输出方法,JS注释,JS变量(声明,命名规则,赋值),变量的数据类型(数值型,字符型)

    JavaScript简介 1,JavaScript是什么? JavaScript是一种小型的,轻量级的,面向对象的,跨平台的客户端脚本语言. JavaScript是嵌入到浏览器软件当中去的,只要你的电 ...

  2. HTML5类选择器使用,CSS选择器种类及使用方法

    CSS选择器种类及使用方法 2018年04月17日 | 萬仟网IT编程 | 我要评论 css选择器 有通配符选择器书写格式:*+{声名块} 并集选择器/组合选择器 书写格式;元素或类或id+" ...

  3. Java经典面试题:一个线程两次调用start()方法会出现什么情况?

    大家好,我是 Oracle首席工程师杨晓峰. 今天想和大家深入聊聊线程,相信大家对于线程这个概念都不陌生,它是Java并发的基础元素,理解.操纵.诊断线程是Java工程师的必修课,但是你真的掌握线程了 ...

  4. 计算机等级delphi取消,计算机二级DELPHI控件:DELPHI过滤记录的实现方法

    所谓过滤就是从表中选取满足特定条件的部分记录.过滤记录首先要通过Filter.属性设置过滤条件,然后将Filtered属性设置为True,即可从数据集组件连接的表中过滤出满足条件的记录. 1.Filt ...

  5. 【转载】面向对象建模与数据库建模两种分析设计方法的比较

    [转载]面向对象建模与数据库建模两种分析设计方法的比较 板桥里人 http://www.jdon.com 2007/9/23(转载请保留) 我们知道:一个软件从无到有需要经过如下几个阶段:分析.设计. ...

  6. 声明方法java实际开发中泛型使用需要注意的一些问题

    在写这篇文章之前,xxx已经写过了几篇关于改声明方法主题的文章,想要了解的朋友可以去翻一下之前的文章 1.Map<K,V> 声明的泛型类型必须是类,不能是基本类型.如果是基本类型将其写为对 ...

  7. 画笔和画刷的种类和使用方法

    画笔的使用和上一章的字体类似,首先用CreatePen()函数创建一个画笔对象,然后与设备文本绑定,同时得到旧的画笔.用完后删除新画笔,并且恢复旧画笔.画笔的种类有7种,参照下表及下面的例子. 值 说 ...

  8. 常见咳嗽种类、治疗方法和忌食大全

    常见咳嗽种类.治疗方法和忌食大全 一.风热咳嗽 症见发热,流涕,咳嗽,喉中痰鸣,咯吐黄痰,日重夜轻,小便黄赤,大便干燥,脉浮数,舌红苔厚腻,指纹红紫.治以疏风清肺,化痰止咳.方用鱼蛤石花汤:生石膏30 ...

  9. 计算机教室使用 灭火器,实验室灭火器的种类和使用方法

    <实验室灭火器的种类和使用方法>由会员分享,可在线阅读,更多相关<实验室灭火器的种类和使用方法(3页珍藏版)>请在人人文库网上搜索. 1.实验室灭火器的种类和使用方法灭火器的种 ...

最新文章

  1. 使用spring mail发送html邮件
  2. caffe matlab 提取全链接层特zheng
  3. 致盗窃,抄袭有三AI内容以及不可理喻的读者
  4. 轩逸车联网功能怎么用_北斗已建设完成,那“北斗导航”怎么用?“短报文功能”怎么用?...
  5. STL源码剖析 数值算法 copy_backward 算法
  6. error_reporting()的用法
  7. Kafka Streams简介: 让流处理变得更简单
  8. LeetCode 123买卖股票的时机 III
  9. 边缘计算应用场景_从6大应用场景,看边缘计算落地生根
  10. [POI2014]Freight
  11. 洛谷P2671 求和 数学 前缀和
  12. ask的matlab代码,二进制ASK调制matlab仿真代码
  13. 铺铜需要把agnd和dgnd分开_AGNDDGND 分析
  14. 想要畅听全网音乐?试试 Listen1吧!
  15. 美国MaaS应用如何成功打入法国市场
  16. 苏格拉底谈爱情、婚姻、外遇与生活
  17. UVA 12304 2D Geometry 110 in 1! 六个直线与圆的问题+经典几何
  18. 方向导数(Directional derivatives)
  19. 客户端连接服务器超时
  20. 高中心理健康教育教师资格证经验贴

热门文章

  1. 差速齿轮原理_差速器和差速锁的区别
  2. shell脚本发邮件内容html,Shell发送邮件以HTML展示
  3. oracle中定义表类型数据,oracle 定义表字段域的数据类型
  4. 帆软报表在已经搭载服务器上开发_史上最全企业数据产品选型对比(含数仓、报表、BI、中台、数据治理)...
  5. mysql访问被拒绝1045_mysqlimport:错误:1045,访问被拒绝
  6. regex match
  7. 图解TCPIP-传输层 端口
  8. Java Tomcat
  9. 腾讯数据库专家多年运维经验凝聚成简,总结这份595页工作笔记
  10. 阿里云、腾讯云、华为云哪个好?迄今最全面的云服务评测报告出炉(转)