Kro*_*ica 10 delphi constructor record
Modern Delphi允许构造函数用于记录.我有以下代码:
{ TKMRect }
constructor TKMRect.Create(aPoint: TKMPoint);
begin
inherited; // <<- Do I need to add this line ?
Left := aPoint.X;
Top := aPoint.Y;
Right := aPoint.X;
Bottom := aPoint.Y;
end;
Run Code Online (Sandbox Code Playgroud)
我的问题是 - 我需要inherited
在记录构造函数中添加行吗?为什么?
Dav*_*nan 10
不,您不需要这样做,因为记录不支持继承,因此inherited
在此上下文中是无操作.
FWIW我认为记录构造函数是一种反模式.这使得呼叫站点的读者难以区分值类型和引用类型.我个人使用名为的静态类函数New
为此目的返回一个新值.你可以争论一个不同的名字是否更好,但它并不重要,只要它不是Create
.
归档时间: |
|
查看次数: |
138 次 |
最近记录: |