Fundamentos de Programación Orientada a Objetos en Java: Paquetes, Herencia e Interfaces
Clasificado en Informática
Escrito el en
español con un tamaño de 3,5 KB
Paquetes en Java
Un paquete es un conjunto de clases relacionadas entre sí. Los paquetes principales que importan en Java son: java.util, java.lang, java.io, java.net, java.awt, java.applet y java.swing.
Sus tres objetivos principales son:
- Mejorar la organización de las clases.
- Reducir los problemas de colisión.
- Controlar la visibilidad de las clases, atributos y métodos.
Modificadores de Acceso
Son aquellos modificadores que cambian la manera de acceder a los miembros de una clase:
- Public: Cualquier clase puede acceder a ellos.
- Protected: Se accede a través de la herencia o desde el mismo paquete.
- Default: Solo se puede acceder desde el mismo paquete.
- Private: Solo se puede acceder desde la misma clase.
Nota: Una clase solo puede tener acceso public o default.
Tipos de modificadores
- Modificadores de métodos:
public,private,protected,friendly,final,static,abstract. - Modificadores de atributos:
public,private,protected,final,static. - Modificadores de clases:
final,abstract.
Herencia en Java
La herencia permite la creación de nuevas clases basadas en clases existentes, heredando métodos y atributos. Los constructores son utilizados, pero no heredados (deben definirse). La clase existente se denomina superclase y la nueva, subclase.
- Simple: Una subclase solo puede derivar de una superclase.
- Múltiple: Una clase puede descender de varias superclases.
Clases y Métodos Abstractos
Son clases genéricas; es decir, no se pueden crear objetos de dicha clase. Su objetivo es obligar a sus subclases a implementar algún método.
- Un método abstracto no puede ser
static. - Una clase es abstracta cuando tiene algún método abstracto o hereda alguno de su superclase.
Interfaces
Java no permite herencia múltiple, por lo que, para compensar, existen las interfaces. Una interfaz es una clase donde los métodos son abstractos y no pueden ser ni static ni final. Todas las variables son públicas, estáticas y finales; no existen variables de instancia.
- Para crearlas se usa la palabra reservada
interfaceen vez declass. - Todos los métodos que declaran son
public. - Para indicar que una clase implementa métodos de una interfaz se usa
implements. - Una interfaz puede extender una o más interfaces, pero no puede extender o heredar nada que no sea una interfaz, ni puede implementar nada.
- Pueden ser usadas polimórficamente.
Declaración de constantes dentro de interfaces
Se pueden alojar constantes dentro de interfaces y así se garantiza que todas las clases que implementen dicha interfaz tendrán acceso a la misma constante. Las constantes son públicas, estáticas y finales, aunque no se especifique explícitamente.