Clase abstracta
Una clase abstracta es aquella que solo pretende ser una clase base de otras clases. El modificador 'abstracto' se usa para hacer una clase abstracta. Un modificador abstracto indica que falta alguna implementación que deba implementarse en la clase derivada de ella. La clase abstracta puede tener miembros abstractos y no abstractos. Una clase abstracta debe tener al menos un método abstracto; de lo contrario, no se utiliza declarar esa clase como "abstracta".
Ejemplo de clase abstracta en C #:
1234567891011 | clase abstracta MyCircle abstract public int Area (); Class MyArea: MyCircle public override int Area () return side * side; ..... |
Como se muestra en el ejemplo anterior, el método abstracto 'Área' dentro de la clase MyCircle se invalida en la clase derivada MyArea.
Interfaz
Una interfaz contiene solo la declaración de los miembros, incluidos los métodos, propiedades, eventos o indizadores. No contiene la implementación de estos miembros. Una clase o estructura implementa la interfaz, debe proporcionar la definición de los métodos declarados en la interfaz. Eso significa que una interfaz proporciona una estructura estándar que la clase derivada debe seguir.
Ejemplo de una interfaz en C #:
12345678910111213141516171819202122 | usando System.Collections.Generic; usando System.Linq; usando System.Text; namespace MyName interfaz pública MyData void getdata (); showdata vacío (); clase pública NameData: MyData public double getdata () nombre de cadena; Console.WriteLine ("Ingrese el nombre:"); name = Console.ReadLine (); public void showdata () Console.WriteLine ("Mi nombre es:", nombre); |
Como se muestra en el ejemplo anterior, la interfaz MyData tiene dos métodos: declaración getdata () y showdata (). La clase NameData que está implementando esta interfaz debe dar la definición de los métodos declarados en la interfaz MyData.
Diferencia entre la clase abstracta y la interfaz