Abstract Class es la forma de lograr la abstracción. Es una clase especial que nunca se instancia directamente. Esta clase debe contener al menos un método abstracto y marcar por palabra clave abstracta en la definición de clase. El objetivo principal de esta clase es dar un modelo para las clases derivadas y establecer algunas reglas que deben implementar las clases derivadas cuando heredan una clase abstracta. Una clase abstracta se puede utilizar como clase base y todas las clases derivadas deben implementar las definiciones abstractas.
Sintaxis :
abstract class classname { // Method Declaration in abstract class }
Aquí, el nombre de clase es el nombre de una clase abstracta. Podemos declarar cualquier número de métodos dentro de él.
La interfaz es como una clase, también puede tener métodos, propiedades, eventos e indexadores como miembros. Pero las interfaces solo pueden tener 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. O podemos decir que es el modelo de la clase.
Sintaxis :
interface interface_name { // Method Declaration in interface }
Ahora, dado que una interfaz y una clase abstracta, ahora nuestra tarea es heredar tanto la interfaz como la clase abstracta en la misma clase.
Acercarse:
- Cree una clase abstracta usando la palabra clave abstract y escriba una definición de método para el método abstracto.
- Cree una interfaz usando la palabra clave de interfaz y escriba una definición de método para Interfaz.
- Cree una clase con el nombre GFG que heredará tanto la clase abstracta como la interfaz como esta:
class GFG : Abstract_Class, Interface { // Method definition for abstract method // Method definition for interface }
- Escriba las definiciones de métodos tanto para la clase abstracta como para la interfaz en la clase GFG.
- Dentro de main, cree dos objetos para la clase abstracta y la interfaz.
- Llame a los métodos que usan esos objetos y muestre la salida.
Ejemplo :
C#
// C# program to illustrate how to inherit an // abstract class and interface in the same class using System; // Abstract class abstract class Abstract_Class { // Method declaration in abstract class public abstract void abstract_method(); } // Interface interface Interface { // Method declaration in interface void interface_method(); } // Here, GFg class inherit abstract class and interface class GFG : Abstract_Class, Interface { // Method definition for abstract method public override void abstract_method() { Console.WriteLine("I am the method of abstract class"); } // Method definition for interface public void interface_method() { Console.WriteLine("I am the method of interface"); } } class Geeks{ // Driver code public static void Main(String[] args) { // Creating objects Abstract_Class ac = new GFG(); Interface inf = new GFG(); // Calling the methods of abstract class // and interface ac.abstract_method(); inf.interface_method(); } }
Salida :
I am the method of abstract class I am the method of interface
Publicación traducida automáticamente
Artículo escrito por manojkumarreddymallidi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA