Beruflich Dokumente
Kultur Dokumente
Orientada a Objetos
A lo largo del presente módulo, encontramos una serie de generalidades
y anotaciones importantes a tener en cuenta en el desarrollo de
aplicaciones con el paradigma orientado a objetos, con el objetivo de
enfatizar en algunas prácticas comunes que los programadores suelen
realizar en la ingeniería de Software.
2. Clases finales
Las clases final no pueden ser superclases. Una dase final que se declara
como final no puede ser una superclase (es decir, una clase no puede
extender a una clase final). Todos los métodos en una clase final son
implícitamente final. La clase String es un ejemplo de una clase final. Si
pudiéramos crear una subclase de String , los objetos de esa subclase
podrían usarse en cualquier lugar en donde se esperaran objetos String.
Como esta clase no puede extenderse, lo que los programas que utilizan
objetos String pueden depender de la funcionalidad de los
objetos String , según lo especificado en la API de java. Al hacer laclase
final también se evita que los programadores creen subclases que
podrían ignorar las restricciones de seguridad.
3. Métodos finales:
Los métodos final no se pueden sobrescribir. Un método final en una
superclase no puede sobrescribirse en una subclase; esto garantiza que
todas las subclases directas e indirectas en la jerarquía utilicen la
implementación del método final. Los métodos que se declaran
como private son implícitamente final, ya que es imposible
sobrescribirlos en una subclase. Los métodos que se declaran
como static también son implícitamente final. La declaración de un
método fi nal nunca puede cambiar, por lo cual todas las subclases
utilizan la misma implemen- tación del método, y las llamadas a los
métodos fi nal se resuelven en tiempo de compilación; a esto se le
conoce como vinculación estática.
Composición de clases
Una clase puede tener referencias a objetos de otras clases como
miembros. A dicha capacidad se le conoce como composición y algunas
veces como relación tiene un. Por ejemplo, un objeto de la clase Reloj
Alarma necesita saber la hora actual la hora en la que se supone sonará
su alarma, por lo que es razonable incluir dos referencias a objetos
Tiempo como miembros del objeto ReíojAlarma.
Superclase Subclases
Los miembros protected de una superclase pueden ser utilizados por los
miembros de esa superclase, por los de sus subclases y por los de otras
clases en el mismo paquete; los miembros protected también tienen
acceso a nivel de paquete.
@Override
Consideraciones sobre la notación @Override
Resumen de Interfaces
Una interfaz describe a un conjunto de métodos que pueden llamarse en
un objeto, pero no proporciona implementaciones concretas para todos
ellos. Podemos declarar clases que implementen a (es decir, que
proporcionen implementaciones concretas para los métodos de) una o
más interfaces.
Cada método de una interfaz debe declararse en todas las clases que
implementen a la interfaz. Una vez que una clase implementa a una
interfaz, todos los objetos de esa clase tienen una relación es un con el
tipo de la interfaz, y se garantiza que todos bs objetos de la clase
proporcionarán la funcionalidad descrita por la interfaz. Esto se aplica
también para todas las subclases de esa clase.
Clases y métodos abstractos
En algunos casos es conveniente declarar clases (conocidas como clase
abstractas) para las cuales el programador nunca creará instancias de
objetos. Puesto que sólo se utilizan como superclases en jerarquías de
herencia, nos referimos a ellas como superclases abstractas.
¿Cuál es su propósito?