Utilización avanzada de clases.

Caso práctico

Ocultar

Reunión de varias personas discutiendo sobre un proyecto.

En las últimas semanas, María y Juan han avanzado muchísimo a lo largo de su recorrido por las estructuras de almacenamiento y el desarrollo de clases, pero María es consciente de que aún quedan cosas por ver en lo que respecta a la Programación Orientada a Objetos. Aún recuerda que cuando aprendió a escribir sus propias clases, con sus atributos y sus métodos, se quedaron muchos conceptos sin terminar de aclarar y que serían estudiados más adelante: utilización de  la herencia, creación  de interfacesclases abstractas, jerarquías de clases, etc.

Ambos saben que faltan unos cuantos conceptos por asimilar y que sin duda les van a proporcionar más herramientas a la hora de desarrollar sus proyectos. En realidad, muchas de estas nociones ya las han intuido al trabajar con las bibliotecas de clases de la API de Java y en cierto modo ya las han utilizado. Parece que ha llegado el momento de formalizar algunos de estos conocimientos para poder emplearlos en sus programas.

Una propiedad o información específica contenida en el interior de un objeto.

Elementos de una clase u objeto compuestos por una serie de sentencias que sirven para describir las acciones a realizar con esa clase u objeto.

Mecanismo mediante el cual una clase puede derivar de otra (clase base, clase padre o superclase) de manera que se extiende la funcionalidad de la primera (especialización).

Una interfaz (o interface) en Java es una especie de clase especial donde todos sus métodos son declarados como abstract (métodos abstractos). Es misión del programador implementar sus correspondientes métodos.

Una clase abstracta en Java es aquella que contiene al menos un método abstracto. Para declarar una clase abstracta en Java se utiliza el modificador abstract.

Una interfaz de programación de aplicaciones o API (del inglés Application Programming Interface) consiste en el conjunto de clases, interfaces, métodos, funciones, constantes, etc., que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción.