Tôi có một lớp của tôi, cho phép gọi nó là TMyObject, sẽ trả về bản sao sửa đổi của chính nó. Vì vậy, một trong các chức năng của nó sẽ trả về một đối tượng cùng loại với chính nó:Tôi có thể tạo một đối tượng cùng loại với chính nó không?
function TMyObject.TrimEnds: TMyObject;
begin
Result:= TMyObject.Create;
Result.DoStuff;
edn;
Tôi có thể làm điều đó không? Có phải tôi đang làm gì không?
Ý tôi là, tôi đã thử nó và trình biên dịch cho phép tôi làm điều đó, nhưng tôi tự hỏi liệu sẽ có thời gian dài/ẩn hiệu ứng tiêu cực.
Bất kỳ suy nghĩ nào cũng sẽ được đánh giá cao. Cảm ơn.
Chỉnh sửa: Bản sao mới sửa đổi một chút sẽ được lưu vào đĩa. Đó là một loại 'Lưu thành ...'. Cách hoạt động: Đối tượng gốc tạo bản sao của chính nó, hướng dẫn bản sao này thực hiện một số thay đổi và lưu vào đĩa. Sau đó bản gốc giải phóng bản sao. Bằng cách này tôi giữ đối tượng gốc trong bộ nhớ không thay đổi nhưng tôi có một phiên bản sửa đổi này vào đĩa.
Bạn có thể nghĩ rằng đối tượng của tôi có ảnh. Những gì tôi cần là một chức năng trả về một bản sao sửa đổi của bức ảnh.
vĩ đại. Rất cám ơn tất cả. – Ampere
Đảm bảo bạn giải phóng tài nguyên. Nếu không, các đối tượng của bạn vẫn còn trong bộ nhớ và không bao giờ được giải phóng. Vâng, về chương trình chấm dứt nó được. – Scoregraphic