En el mundo de la codificación de las aplicaciones informáticas , que es una buena cosa para ser un programador perezoso. En concreto , se ahorra tiempo de usar herramientas que otros programadores creados para un propósito específico en lugar de irse a reinventar la rueda . En el lenguaje de programación Java, dos de las formas de estas herramientas de programadores hacen para sí o para otros programadores pueden tomar son interfaces y clases abstractas. Modelos Clase
Ambas interfaces y clases abstractas sirven como una especie de modelo para una clase particular. Los programadores crean estas clases con el fin de especificar ciertos comportamientos genéricos de la clase , y permitir que el programador individual que termina con la clase para especificar el comportamiento de la clase para la aplicación particular del programador. Mientras que ambos actúan como modelos generales , tienen diferentes protocolos de declaraciones e imponen distintos requisitos sobre el programador final .
Declaraciones de clases e implementaciones
programadores especificar si una clase es una interfaz o una clase abstracta con diferentes palabras clave en la declaración de clase . Este será un "interface" seguido del nombre de la interfaz , o " clase abstracta " seguido del nombre de la clase ' . Los programadores que utilizan ya sea la clase abstracta o interfaz no utilizan la clase directamente , pero crean una subclase del tipo de clase concreto que va a utilizar . Para utilizar una interfaz, un programador añadiría " implementa la interfaz ", donde "interfaz" es el nombre de la interfaz. Para utilizar una clase abstracta , un programador podría añadir "extends abstractClass " donde " abstractClass " es el nombre de la clase abstracta .
Implementaciones de los métodos
subclases puede reemplazar los métodos de su clase dominante ( en este caso la interfaz o clase abstracta ) . Cuando un programador declara un método con el mismo nombre que un método de la clase padre , entonces el programa utilizará el código para el método que proporcione el usuario en lugar del código en el método principal. En las clases abstractas , algunos métodos serán declarados como "abstracto ". Estos métodos se ocupan de los detalles de cómo se utiliza la clase, y el programador final tiene que pasar por encima de los métodos que se declaran como abstracta . En las interfaces , el usuario final tiene que pasar por encima de todos los métodos en la interfaz.
Uso situacional
Estas diferencias funcionales se prestan a usos específicos. Uso de una interfaz asegura que una clase particular se reunirá todos los requisitos para una estructura de datos en particular. Por ejemplo , un programador que hizo su propia biblioteca de funciones de conexión de red puede hacer que los programadores de uso y la clase de interfaz que diseñó para los datos que el programador final quiere enviar usando esas funciones . La interfaz se asegurará de que cada transmisión de salida tendrá todo las bibliotecas necesitan para enviar correctamente los datos. Por otra parte, el mismo programador podría hacer una clase abstracta que contiene los métodos detallados que las tuercas y los pernos de envío de los datos, pero requiere que el programador fin a pasar por encima de ciertos métodos que se ocupan de que los datos serían enviados o lo que serían enviados .