zoukankan      html  css  js  c++  java
  • 谈谈Delphi中的类和对象3---抽象类和它的实例

    ---恢复内容开始---

    四、抽象类和它的实例

      Delphi中有一个类称为是抽象类,你不能天真的直接为它创建一个实例,如

    var
        StrLst: TString;
    begin
        StrLst:= TString.Create;
        StrLst.Add('I love China');
        StrLst.Free;
    end;

       这是不对的,因为TString是一个抽象类。

      那么怎么为这样的抽象类构造实例呢?答案就是借助它的非抽象子类。我们知道TString有一个TStringList的非抽象子类。所以可以这样操作

    var

        StrLst: TString;    //还是可以通过抽象类来进行声明
        //或者直接用 StrLst:TStringList;    不过前者更好一些
    begin
        StrLst:= TStringList.Create;    //但是创建具体的对象就必须使用抽象类的非抽象子类
             //而且这样创建的实例在内存中是其子类的结构,
             //尽管在var里面使用抽象类声明的,但是具体的create是其非抽象子类
        StrLst.Add('I love China');
        StrLst.Free;
    end;

    ---恢复内容结束---

  • 相关阅读:
    扫雷游戏
    打地鼠Demo
    Game2048
    蛇形矩阵
    约瑟夫环
    二分法查找
    动态规划之防卫导弹
    动态规划之0-1背包问题
    回溯算法之火力网
    回溯算法之8皇后问题
  • 原文地址:https://www.cnblogs.com/jijm123/p/10124603.html
Copyright © 2011-2022 走看看