{ 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;
我的问题是 – 我需要在我的记录构造函数中添加继承的行吗?为什么?
FWIW我把记录的构造函数视为反模式.这使得呼叫站点的读者难以区分值类型和参考类型.我个人使用名为New的静态类函数为此返回一个新值.你可以争论一个不同的名字是否更好,但是这并不重要,因为它不是创建.