Adrián Intriago Meza 1 “A” Sistemas Clases abstractas El modificador abstract se utiliza para indicar que una clase está incompleta sólo se va a utilizar como una clase base. Una clase abstracta se diferencia d una clase no abstracta en lo siguiente: • No se puede crear una instancia de una clase abstracta directamente, y es un error en tiempo de compilación utilizar el operador new en una clase abstracta. unque es posible tener variables y valores cuyos tip tiempo de compilaciónsean abstractos, tales variables y valores serán null o contendrán referencias a instancias de clases no abstractas derivadas de los tipos abstractos. • !e permite que una clase abstracta contenga miembros abstractos, aunque no es necesario. • No se puede sellar una clase abstracta. "uando una clase no abstracta se deriva de una clase abstracta, la clase no abstracta debe incluir implementaciones reales de todos los miembros abstracto #eredados$ por lo tanto, reemplaza a estos miembros abstractos. En el e%emplo abstract class & public abstract void '()$ * abstract class +: & public void () &* * class ": + & public override void '() & -- actual implementation of ' * * la clase abstracta define el m todo abstracto '. /a clase + define un m tod adicional , pero no proporciona una implementación de ', por lo que + tambi n debe ser declarada como abstracta. /a clase "reemplaza ' y proporciona una implementación real. 0ado que no #ay miembros abstractos en ", está permitido que " sea no abstracta, aunque no es necesario. Polimorfismo 1olimorfismo es uno de los pilares de la programación orientada a ob%etos que más se utiliza, lo 2nico que es de%ado de lado por los programadores en cuanto su uso en las aplicaciones de negocios.