这是我学习delphi的第三天,有几个问题向大家请教:1。delphi中有垃圾收集机制吗?如果有,请给一个感性认识。
2。父类和子类同名的函数是不是被覆盖了?既父类中所有的该名字的函数均失效。我的测试结果为是。
3。重载和覆盖的函数为什么有的时候要写overload或override,有时候好像又不需要。请给一个感性认识。
4。delphi中有类方法,但是有没有类变量呢?
5。delphi中有多重继承概念吗?它是单根继承,我觉得应该没有。所以delphi中是否有接口的概念?我觉得以下是delphi的几个弱点,请大家指导一下,如果我说的不对,一定要骂骂骂骂我:
1。变量只能在程序块的开头定义。
   不知是否为了兼容pascal. delphi为什么一定要把变量定义到开头呢?在工程的开头我怎么会知道需要什么样的变量?这会转移我的思路。还要不断的回过头去修改。大大降低程序的可读性。这同时也导致了第二个弱点。
2。对象的定义和初始化相分离。
  无可否认,变量的定义和初始化的同时进行是大势所趋,这样可以避免使用未初始化的对象,大幅度减少编程错误。可是delphi要求变量在开头定义,那么,某些对象的初始化信息必然还不存在,所以这时初始化对象犹如空中楼阁。当然,如果编译器会指出你使用了未出世化的变量似乎可以减少遗憾,但实际好象并非如此。所以你就必须记住Create, Destroy,并为忘记他们而付出代价。
3。具有全局变量。
    这也没什么说的。c++同样抱着这样的遗憾。
4。procedure和function
    我实在不明白为什么有了function还要有procedure。或许再写几天程序我会体会到他们共存的好处,但到现在他们一直在给我添麻烦。
5。如果只有类方法却没有类变量
    那么,类方法中是否只能使用全局变量?如果是的话岂不是任何人都可以修改这一全局变量?这个我实在是不了解,请高手指示一下。还有4天可能就要投入开发了。希望高手把我的错误说详细一点。