Delphi中.Create与.Create()的区别及写法正确性辨析
Delphi构造函数两种写法的规范说明
嘿,这个问题在Delphi开发者圈子里其实挺常见的,我来给你掰扯清楚:
首先明确核心结论:两种写法都是完全合法且功能等价的,编译器对它们的处理没有任何区别,最终生成的执行代码完全一致。
接下来聊聊背后的风格和规范逻辑:
传统Delphi风格:
像《Expert Delphi》里写的favs := TFavorites.Create;是Delphi长期以来的惯用写法。在早期Delphi版本中,无参数的方法(包括构造函数)调用时省略括号是标准惯例,这种写法更贴合Pascal语言简洁的特性,很多经典Delphi教程、书籍都会采用这种风格。现代兼容风格:
IDE自动补全的favs := TFavorites.Create();是后来为了兼容C#、Java等主流语言的写法而引入的。对于习惯这些语言的开发者来说,带括号的写法更符合他们的直觉,所以IDE会默认补全这种形式,也是顺应跨语言开发的趋势。
总结建议
如果是个人项目,完全可以根据自己的习惯选择——偏爱传统Pascal风格就用无括号的,习惯C系语言风格就用带括号的,都没问题。如果是团队协作项目,关键是遵循团队统一的编码规范,保持代码风格的一致性,避免混合使用两种写法即可。
内容的提问来源于stack exchange,提问作者Michael Riley - AKA Gunny
相关产品推荐
相关产品推荐

