¿Qué es el método anular?
La primordial del método
se utiliza en la programación orientada a objetos dentro de una jerarquía de herencia, y ocurre cuando un método definido en una superclase se redefine en una subclase. Por lo general, el método de subclase hace algo diferente al método de superclase o se expande en una capacidad de la superclase, pero este no tiene que ser el caso. La primordial del método ocurre cada vez que se redefine un método de superclase en una subclase, independientemente del contenido del método redefinido. Las firmas de método redefinidos deben ser exactamente las mismas.
Por ejemplo, una clase A podría contener un método llamado "Dosomething", y este método no toma parámetros de entrada. Además, las clases B y C pueden ser subclases de la Clase A. La clase B podría contener un método llamado "Dosomething", que no toma parámetros de entrada, y la Clase C podría contener un método "Dosomething" que toma un número como un parámetro de entrada. En este ejemplo, solo la clase B demostraría el método anular, porque su método de "thanting" tiene el mismo yoTHOD Signature como su superclase, Clase A. El método "Dosomething" en la clase C, por otro lado, demuestra sobrecarga de métodos porque crea un método completamente nuevo.
.La herencia virtual en C ++ es otro ejemplo de anulación del método. Los métodos virtuales en las superclase pueden o no implementarse, pero cualquier definición de subclase de ellos es una instancia de método anular. Cuando un método se anula en una subclase, el método de la superclase no se llama a menos que se invoque explícitamente. A menudo se dice que esta forma específica de llamar a un método anulado "oculta" la implementación de la superclase.
Aunque la anulación del método es muy flexible, no todos los métodos pueden anularse, y hay momentos en que esta rigidez puede ser preferible. Tanto en Java como en C ++, se pueden aplicar palabras clave específicas en firmas de método para evitar que un método se anule en una subclase. Para hacer esto, JavaUtiliza la palabra clave "final", y C ++ usa la palabra clave "const". La prevención de la anulación del método puede ser beneficioso si una función particular siempre se debe cambiar a lo largo de un árbol de herencia.
En general, los métodos simples que obtienen pequeños datos no deben ser anulados. Los casos que más tienden a beneficiarse de la anulación son cuando una subclase tiene como objetivo agregar funcionalidad a un método de superclase sin crear un método completamente nuevo para hacerlo. Los casos inusuales en los que un método debe rehacerse por completo para un tipo específico de objeto también podrían beneficiarse de esta técnica. Cada vez que se anula un método, es importante que el programador comente adecuadamente los métodos de superclase y subclase. Idealmente, estos comentarios deberían aclarar lo que hace cada variante del método, así como cómo y por qué difieren.