Cita:
Empezado por escafandra
Como bicho raro y amante del C/C++ estoy muy acostumbrado a la sobrecarga. En C/C++ es algo tan natural, que no hay ni que especificarla, basta con que los parámetros sean diferentes.
Voto por la sobrecarga.
|
+1
Nunca entendi porque en Pascal tenemos que avisarle al compilador que estamos sobrecargando un metodo
A mi muchas veces me molesta porque me suele pasar que el agregar
overload provoca que el texto sobrepase el margen derecho, y luego al pasarle el
formatter me ponga el overload en la siguiente linea.
(Se que puedo ampliar este margen, pero eso tendria otros efectos no deaseados. El valor que tengo me deja contento para todos los casos, siendo este la excepcion)
Otra cosa que me molesta de la sobrecarga, esta relacionada con las funciones. En "teoria", una funcion en Pascal no es mas que un procedimiento donde el valor de retorno es un parametro implicito de salida (out) y tiene por nombre Result. Si ese fuera el caso, el compilador podria diferenciar entre las invocaciones:
Código Delphi
[-]
TFoo = class
public
function Bar: Integer; overload;
function Bar: string; overload;
end;
Sin embargo, si usamos un procedure con un parametro de salida out, si que compila:
Código Delphi
[-]
TFoo = class
public
procedure Bar(out Result: Integer); overload;
procedure Bar(out Result: string); overload;
end;