Red de conocimiento informático - Consumibles informáticos - ¿Cuál es la diferencia entre sobrecargar y reescribir?

¿Cuál es la diferencia entre sobrecargar y reescribir?

Las diferencias entre sobrecarga y reescritura son las siguientes:

1 Diferencias de definición:

1. La sobrecarga se refiere al uso de diferentes funciones con el mismo nombre de función. , pero el número o tipo de parámetros de función son diferentes. Se distinguen diferentes funciones según los parámetros de la función al llamar.

2. Sobrescribir (también llamado reescribir) se refiere a reimplementar la función virtual (tenga en cuenta que es una función virtual) en la clase base en la clase derivada. Es decir, el nombre y los parámetros de la función son los mismos, pero la implementación de la función es diferente.

2. Diferencias en las reglas:

1. Reglas de sobrecarga:

①Deben tener listas de parámetros diferentes.

② Puede haber diferentes modificadores de acceso.

③ Se pueden lanzar diferentes excepciones.

2. Reglas para anular métodos:

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

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

③La restricción del modificador de acceso debe ser mayor que el modificador de acceso del método anulado.

④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.

3. La diferencia en las relaciones de clases:

La anulación es la relación entre subclases y clases principales, que es una relación vertical. La sobrecarga es la relación entre métodos de la misma clase. es una relación horizontal.