Leccion 9 Java
-
Upload
spartacus1286 -
Category
Education
-
view
316 -
download
0
Transcript of Leccion 9 Java
![Page 1: Leccion 9 Java](https://reader036.fdocuments.mx/reader036/viewer/2022062300/556c2368d8b42a8d648b4d23/html5/thumbnails/1.jpg)
![Page 2: Leccion 9 Java](https://reader036.fdocuments.mx/reader036/viewer/2022062300/556c2368d8b42a8d648b4d23/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.mx/reader036/viewer/2022062300/556c2368d8b42a8d648b4d23/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.mx/reader036/viewer/2022062300/556c2368d8b42a8d648b4d23/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.mx/reader036/viewer/2022062300/556c2368d8b42a8d648b4d23/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.mx/reader036/viewer/2022062300/556c2368d8b42a8d648b4d23/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.mx/reader036/viewer/2022062300/556c2368d8b42a8d648b4d23/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.mx/reader036/viewer/2022062300/556c2368d8b42a8d648b4d23/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.mx/reader036/viewer/2022062300/556c2368d8b42a8d648b4d23/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.mx/reader036/viewer/2022062300/556c2368d8b42a8d648b4d23/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.mx/reader036/viewer/2022062300/556c2368d8b42a8d648b4d23/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.mx/reader036/viewer/2022062300/556c2368d8b42a8d648b4d23/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.mx/reader036/viewer/2022062300/556c2368d8b42a8d648b4d23/html5/thumbnails/13.jpg)
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](https://reader036.fdocuments.mx/reader036/viewer/2022062300/556c2368d8b42a8d648b4d23/html5/thumbnails/14.jpg)
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](https://reader036.fdocuments.mx/reader036/viewer/2022062300/556c2368d8b42a8d648b4d23/html5/thumbnails/15.jpg)
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](https://reader036.fdocuments.mx/reader036/viewer/2022062300/556c2368d8b42a8d648b4d23/html5/thumbnails/16.jpg)