Vi su pregunta anterior, en la que preguntaba sobre el significado de "pura virtual" (abstract
en C#).
La razón por la que no se puede crear una instancia de una clase abstract
es que presumiblemente tiene abstract
miembros, con ninguna implementación. Así que decir que su clase es el siguiente:
abstract class Airplane_Abstract
{
public abstract int GetSomeInteger();
}
A continuación, suponiendo que podría crear una instancia de una de ellas, se podría escribir código como este:
var airplane = new Airplane_Abstract();
// What would this be?
int integer = airplane.GetSomeInteger();
Por supuesto, yo no le creo realmente tienen tener miembros abstractos en una clase abstracta. Pero la idea general de una clase abstracta es que es una que no puede existir por sí misma; debe definirse con mayor detalle en una clase que herede de él. Los miembros abstractos son la ilustración más obvia de por qué esto sería; podría haber otras razones.
Piense en Shape
, por ejemplo. Este es un ejemplo bastante común de algo que tendría sentido como una clase abstracta. Realmente no puedes instanciar solo a Shape
, ¿o sí? ("Crear una forma". "¿Qué tipo de forma?" "No amable. Solo una forma abstracta." Realmente no funciona, ¿verdad?)
Lo adivinó correctamente. –
framework guidelines framework guidelines framework guidelines guidelines guidelines – Will
Cuando vuelvas y leas un poco acerca de las clases abstractas, te darás palmadas en la frente e irás "duh". http://msdn.microsoft.com/en-us/library/sf985hc5(v=vs.71).aspx (primer punto de viñeta) –