Red de conocimiento informático - Consumibles informáticos - ¿Qué significa reescribir?

¿Qué significa reescribir?

La reescritura es la reescritura por parte de la subclase del proceso de implementación de los métodos accesibles de la clase principal. Ni el valor de retorno ni los parámetros formales se pueden cambiar.

En Java y algunos otros lenguajes de programación avanzados orientados a objetos, las subclases pueden heredar métodos de la clase principal sin reescribir los mismos métodos. Pero a veces la subclase no quiere heredar los métodos de la clase principal sin cambios, pero quiere realizar ciertas modificaciones, lo que requiere reescribir el método. La anulación de métodos también se denomina sobrescritura de métodos. Si un método de la subclase tiene el mismo nombre de método, tipo de retorno y lista de parámetros que un método de la clase principal, el nuevo método sobrescribirá el método original.

Reglas para anular métodos

1. La lista de parámetros debe ser exactamente la misma que la del método anulado; de lo contrario, no se puede llamar sobrescritura sino sobrecarga.

2. El tipo de retorno siempre debe ser el mismo que el tipo de retorno del método anulado; de lo contrario, no se puede llamar sobrescritura sino sobrecarga.

3. El límite del modificador de acceso debe ser mayor que el modificador de acceso del método anulado. (publicgt; protectedgt; defaultgt; privado)

4. El método anulado no debe generar una nueva excepción marcada o una excepción marcada que sea más amplia que la declaración del método anulado.

Características de sobrecarga y reescritura (sobrescritura)

1. El indicador del método anulado debe coincidir completamente con el indicador del método anulado para lograr el efecto de sobrescritura.

2. El valor de retorno del método anulado debe ser coherente con el valor de retorno del método anulado.

3. La excepción lanzada por el método anulado debe ser consistente con la excepción lanzada por el método anulado, o ser una subclase del mismo.

4. El método anulado no puede ser privado; de lo contrario, solo se definirá un nuevo método en su subclase sin anularlo.