Ver Mensaje Individual
  #7  
Antiguo 17-10-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Reputación: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Cita:
Empezado por escafandra Ver Mensaje
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 [-]
  // error de compilacion, E2252 Method 'Bar' with identical parameters already exists
  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;
Responder Con Cita