La herencia multinivel es el proceso de extender las clases principales a las clases secundarias en un nivel. En este tipo de herencia, una clase secundaria heredará una clase principal y, además, la clase secundaria también actuará como clase principal para otra clase que se cree. Por ejemplo, tres clases llamadas P, Q y R, donde la clase R se deriva de la clase Q y la clase Q se deriva de la clase P.
Sintaxis :
class P : Q { // Methods }
La interfaz especifica qué debe hacer una clase y no cómo. Es el modelo de la clase. Similar a una clase, la interfaz también tiene métodos, eventos, variables, etc. Pero solo contiene la declaración de los miembros. La implementación de los miembros de la interfaz estará dada por la clase que implementa la interfaz implícita o explícitamente. La principal ventaja de la interfaz se utiliza para lograr el 100% de abstracción.
Sintaxis:
interface interface_name { //Method Declaration }
Después de comprender la herencia multinivel y la interfaz, ahora implementamos la interfaz con la herencia multinivel. Entonces, para esto, podemos extender la clase principal a la interfaz.
class GFG1 : interface1 { // Method definition public void MyMethod() { Console.WriteLine("Parent is called"); } }
Acercarse
- Cree una interfaz llamada «interfaz1» con el método llamado «MyMethod».
- Cree una clase principal denominada ‘GFG1″ mediante la implementación de una interfaz.
- Cree la primera clase secundaria denominada «GFG2» extendiendo la clase principal.
- Cree una segunda clase secundaria denominada «GFG3» extendiendo la primera clase secundaria.
- Cree un objeto en el método principal.
- Accede a los métodos presentes en todas las clases usando el objeto.
Ejemplo:
C#
// C# program to implement interface // with multi-level inheritance using System; // Interface interface interface1 { // Method Declaration void MyMethod(); } // Parent class class GFG1 : interface1 { // Method definition public void MyMethod() { Console.WriteLine("Hey! This is Parent"); } } // First child extends parent class class GFG2 : GFG1 { // Method definition public void Method1() { Console.WriteLine("Hey! This is first child"); } } // Second child extends first child class GFG3 : GFG2 { // Method definition public void Method2() { Console.WriteLine("Hey! This is second child"); } } class Geeks{ public static void Main(String[] args) { // Create an object for the second child GFG3 obj = new GFG3(); // Call the methods of patent, // first and second child classes obj.MyMethod(); obj.Method1(); obj.Method2(); } }
Producción:
Hey! This is Parent Hey! This is first child Hey! This is second child
Publicación traducida automáticamente
Artículo escrito por bhanusivanagulug y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA