Tengo una clase de la mía, vamos a llamarlo TMyObject, que debe devolver una copia ligeramente modificada de sí mismo. Así, una de sus funciones debe devolver un objeto del mismo tipo que en sí:¿Puedo crear un objeto del mismo tipo que él?
function TMyObject.TrimEnds: TMyObject;
begin
Result:= TMyObject.Create;
Result.DoStuff;
edn;
¿Puedo hacer eso? ¿Es legítimo lo que estoy haciendo?
Quiero decir, ya lo probé y el compilador me permite hacerlo, pero me pregunto si habrá efectos negativos a largo plazo/ocultos.
Cualquier pensamiento será apreciado. Gracias.
Editar: La nueva copia ligeramente modificada se guardará en el disco. Es una especie de 'Guardar como ...'. Cómo funciona: el objeto original crea una copia de sí mismo, ordena a esta copia que realice algunos cambios y que guarde en el disco. Luego, el original libera la copia. De esta manera, mantengo el objeto original en la memoria sin cambios, pero tengo una versión modificada de esto en el disco.
Puede pensar que mi objeto contiene una imagen. Lo que necesito es una función que devuelva una copia ligeramente modificada de la imagen.
Grande. Muchas gracias a todos. – Ampere
Asegúrate de liberar recursos. De lo contrario, tus objetos permanecen en la memoria y nunca se liberan. Bueno, en la terminación del programa es. – Scoregraphic