Sera porque lo he usado muy poco, y cuando lo he hecho es en procedimientos ya elaborados, pero aun no entiendo el funcionamiento de inherited y override

Me podrian explicar que hace cada uno, y en que situación es cuando se deben emplear?
Posted 02 June 2010 - 07:29 AM
Posted 02 June 2010 - 08:15 AM
inherited; // Más código propio de la clase hija
// Más código propio de la clase hija inherited;
// Más código propio de la clase hija inherited; // Más código propio de la clase hija
Posted 02 June 2010 - 08:39 AM
No es que quiera hacer propaganda, pero hay tos manuales que pueden ser de apoyo para comprender el tema:
Concepto: Herencia
Concepto: Polimorfismo
Para hacerlo sencillo, inherited se emplea cuando se desea invocar el método de la clase Base.
Por ejemplo:
procedure TClaseHija.HacerEsto; begin inherited HacerEsto; .... end;
En este ejemplo, el método HacerEsto de la clase Hija invoca al mismo método de la clase padre. Los puntos suspensivos son para indicar que luego contínua con otras sentencias.
De este modo podemos invocar a cosas de la clase base y luego añadir nuevas cosas, si se necesita.
Override es la cláusula que se añade al final del método sobreescrito en la clase hija. Es una "marca" que requiere el compilador para reconocer que métodos han sido sobreescritos. De otro modo el compilador nos alertará con unos warnings.
Por ejemplo:
TClaseBase = class public procedure HacerEsto; virtual; end;
TClaseHoja = class(TClaseBase) public procedure HacerEsto; override; end;
Nota como en la clase base se añadió la cláusula virtual. Luego en la clase hija se añade override para indicar que esta lo sobreescribe.
Saludos,
Posted 02 June 2010 - 08:54 AM
Posted 02 June 2010 - 09:23 AM
Posted 02 June 2010 - 09:38 AM
Posted 02 June 2010 - 10:22 AM
Ya respondí este en el otro Club y fui el primero... por un momento me sentí orgulloso
No hay pex