背景:在写类库的时候,某单元模块设计得类太多了,而且实现代码也比较多。这些类可以再细分,我想把这些类在分门别类的写在不同单元。问题的提出:但在引用时,我希望只引用一个单元,相当于C里面的头文件,将所有类重声明一遍,可不可以实现?(主问题)如果我不能这样做,调用者可能要引用一大堆单元,代码就看得不清晰简洁了。
C能将类的声明与实现分开存放,就很科学,Pascal可以吗?(附带的问题)

解决方案 »

  1.   

    你可以直接用一个单元
    unit unit1
    uses
    unit2,unit3,unit4....
    这样你只用包含unit1就行了 
      

  2.   

    将所有类重声明一遍:  TMyClass1=Class of 设计好的类1
                         TMyClass2=Class of 设计好的类2
    能将类的声明与实现分开存放,就很科学,Pascal可以吗?你也可以将类的申明和实现分开啊。vc中的实现中都要 #include,和delphi中的uses是一个道理。
      

  3.   

    firetoucher(风焱) :
      你的方法试过吗?不过我试过,不行。lincanwen(密码错误) :
      1、TMyClass1 = class of <类1> 是定义类引用,不是重声明阿,要创建对象还要调用<类1>的构造函数
      2、#include和uses有本质区别吧,#include应该和$I一样才对;还有你写一个类,不写实现部分,能编译的过才怪。好了,答案还是我自己发现的,用$I