• 初探Object Pascal的类(一)


    类是什么?

    (class)是字段和方法(函数和过程)的集合,并把这些字段和方法集中在一起完成一项特定的编程任务,在这种情况下,类也称为封装任务

    类具有以下性能:

    控制存取的能力、构造程序(constructor)、析构程序(destructor)、字段(field)、方法(函数和过程)、隐含的特殊指针Self

    在进一步讲解这些性能之前,我们先看看一个例子怎么使用一个类,以典型的Windows控件-复选框(CheckBox)为例。

    0058

    1、表示复选框(CheckBox)的类具有反映复选框标题和状态(选中或不选中)的字段;

    2、这个类也应该具有一些方法,这些方法可以用来设置和查询复选标题,而且能够设置和查询其状态,这些方法的名称可能为GetCheck、SetCheck、GetCaption、SetCaption;

    3、当类编写好之后,就可以建立一个类的实例来控制复选框。(暂且不要管如何建立的类,假设我们已经建立好了CheckBox类);

    4、加入我们的程序中需要三个复选框(CheckBox),那就应该有三个CheckBox类实例;

    5、代码如下(代码无法测试,只是作为一个例子演示说明类的)

    var
      Check1: TMyCheckBox;  { 声明三个TMyCheckBox类实例变量}
      Check2: TMyCheckBox;
      Check3: TMyCheckBox;
    begin
      Check1 := TMyCheckBox.Create(ID_CHECK1); { 创建三个TMyCheckBox类实例}
      Check2 := TMyCheckBox.Create(ID_CHECK2);
      Check3 := TMyCheckBox.Create(ID_CHECK3);
      Check1.SetCaption('Option One');   { 第一个复选框标题为“Option One”,且选中}
      Check1.SetCheck(True);
      Check1.SetCaption('Option Two');   { 第二个复选框标题为“Option Two”,且不选中}
      Check1.SetCheck(False);
      Check1.SetCaption('Option Three'); { 第三个复选框标题为“Option Three”,且选中}
      Check1.SetCheck(True);
      if Check1.GetCheck then Do OptionOneTask;
      { 通过GetCheck返回是否选中,如果选中执行OptionOneTask过程}
      if Check2.GetCheck then Do OptionTwoTask;
      {etc. 等等}
    end;

    6、在这个例子中,每个类的实例都是独立的对象。每个实例都有自己的字段,并且对象之间是相互独立的。它们都是相同类型的对象,但在内存中又是独立的实例。

    上面的例子只是让大家消除一些模糊的概念,进一步理解类。

  • 相关阅读:
    行星工单系统部分实现(1)-流程控制
    当初要是看了这篇,React高阶组件早会了
    健壮高效的小程序登录方案
    SQL Case when 的使用
    JS脚本动态给元素/控件添加事件
    VMware虚拟机屏幕大小只有400,800怎么办如何解决
    mysql和mysql jdbc连接器mysql-connector-java对应关系
    mysql中难以理解的sql
    PLSQL计算质数
    java alibaba fastJson 遍历数组json
  • 原文地址:https://www.cnblogs.com/pchmonster/p/2304838.html
Copyright © 2020-2023  润新知