¿Qué es una clase abstracta?
En la programación orientada a objetos, una clase abstracta proporciona una clase base que puede usarse para proporcionar a otras clases implementación parcial e interfaz. Están incompletos por sí mismos y se usan en situaciones de herencia en muchos lenguajes de programación como Java, C ++ y C#. Su uso como clase base significa que a menudo se les conoce como una clase base abstracta (ABC).
Una parte integral de la programación orientada a objetos, la abstracción de datos elimina los detalles innecesarios de un objeto. Esencialmente, reduce el objeto a sus principales características de identificación. Estas características básicas proporcionan un plan que se puede utilizar para crear otros objetos con las mismas propiedades, solo que difieren en los detalles.
Este plan se define como una clase. Las clases se utilizan para encapsular el código, lo que facilita el programador, ya que puede hacer referencia a rutinas comunes específicas en lugar de escribir las rutinas una y otra vez. Los programadores crean objetos infantiles a partir de clases, y estos OBjects herede las funciones y métodos dentro de la clase principal.
El propósito de una clase abstracta es ser el marco sobre el cual se construyen otras clases. Los objetos no se pueden crear directamente a partir de una clase abstracta, solo de las subclases pertenecientes a la clase abstracta. Para que un objeto herede de una clase abstracta, se debe crear una subclase. Objetos de una subclase creada de una clase abstracta propiedad de propiedades de esa clase abstracta.
Cada clase modela un concepto, y las clases abstractas tienden a modelar conceptos más abstractos utilizando métodos abstractos. Los métodos abstractos son subrutinas dentro de una clase abstracta que no contienen implementación. Estas subrutinas se utilizan como marcadores de posición para ser sobrescritos por una subclase o un objeto diseñado basado en la clase que contiene el método abstracto en sí.
Existen diferentes métodos para crear una clase abstracta. Por ejemplo, en c ++, unLa clase Bstract se crea desarrollando una clase con al menos un método abstracto o una función virtual pura. Java usa una palabra clave, "Abstract", para denotar una clase abstracta. Sin embargo, no se definen en lenguajes de programación que no respaldan la idea de herencia.
La herencia es el proceso de crear nuevos objetos a partir de clases donde los nuevos objetos pueden usar las funciones y métodos definidos dentro de sus clases principales sin la necesidad de reafirmar el programa. Es por eso que una clase abstracta es útil. Las clases infantiles y los objetos infantiles de esas subclases heredan propiedades de la clase abstracta matriz. Las clases abstractas se consideran superclase y están en la parte superior de la jerarquía de estructura de clase, por lo que no tienen sentido en un idioma que no admite la herencia.