16

Leccion 9 Java

Embed Size (px)

Citation preview

Page 1: Leccion 9 Java
Page 2: Leccion 9 Java

Una subclase puede sobreescribir completamente la implementación de un método heredado o puede mejorar el método añadiendole funcionalidad.

Page 3: Leccion 9 Java

Muchas superclases proporcionan implementaciones de métodos vacías con la esperanza de que la mayoría, si no todas, sus subclases reemplacen completamente la implementación de ese método.

Page 4: Leccion 9 Java

Otras veces una subclase querrá mantener la implementación del método de su superclase y posteriormente ampliar algún comportamiento específico de la subclase.

Page 5: Leccion 9 Java

Una subclase no puede sobreescribir métodos que hayan sido declarados como final en la superclase (por definición, los métodos finales no pueden ser sobreescritos).

Page 6: Leccion 9 Java

Las subclases deben sobreescribir aquellos métodos que hayan sido declarados como abstract en la superclase, o la propia subclase debe ser abstracta.

Page 7: Leccion 9 Java

Se puede declarar que una clase sea final; esto es, que la clase no pueda tener subclases. Existen (al menos) dos razones por las que se querría hacer esto: razones de seguridad y de diseño.

Page 8: Leccion 9 Java

Un mecanismo que los hackers utilizan para atacar sistemas es crear subclases de una clase y luego sustituirla por el original. Las subclases parecen y sienten como la clase original pero hacen cosas bastante diferentes, probablemente causando daños u obteniendo información privada.

Page 9: Leccion 9 Java

Otra razón por la que se podría querer declarar una clase final son razones de diseño orientado a objetos. Se podría pensar que una clase es "perfecta" o que, conceptualmente hablando, la clase no debería tener subclases.

Page 10: Leccion 9 Java

Para declarar que una clase es un clase abstracta, se utiliza la palabra clave abstract en la declaración de la clase.

abstract class Number { . . .}

Page 11: Leccion 9 Java

Una clase abstracta puede contener métodos abstractos, esto es, métodos que no tienen implementación. De esta forma, una clase abstracta puede definir un interface de programación completo, incluso porporciona a sus subclases la declaración de todos los métodos necesarios para implementar el interface de programación.

Page 12: Leccion 9 Java

Esta clase define los estados y comportamientos básicos que todos los objetos deben tener, como la posibilidad de compararse unos con otros, de convertirse a cadenas, de esperar una condición variable, de notificar a otros objetos que la condición varible a cambiado y devolver la clase del objeto.

Page 13: Leccion 9 Java

Utiliza para comparar si dos objetos son iguales. Este método devuelve true si los objetos son iguales, o false si no lo son.

Page 14: Leccion 9 Java

Es un método final (no puede sobreescribirse) que devuelve una representación en tiempo de ejecución de la clase del objeto.

Page 15: Leccion 9 Java

Este método devuelve una cadena de texto que representa al objeto. Se puede utilizar toString para mostrar un objeto.

Page 16: Leccion 9 Java