MOO MEX CARLOS LÓPEZ NAVARRETE VICTOR MANUEL CANTE HOY JOSUE ABRAHAM
Resumen del capitulo “Herencia” Comenzando con este resumen cabe mencionar que a la herencia se le conoce algunas veces como Especialización, como ya se sabe lo que es en si la herencia es la reutilización de software ya que si lo utilizamos lo que hacemos es que teniendo una clase base que tiene ya todas las características y los métodos necesarios para ella y creamos nuevas clases hijos que heredaran las mismas características y métodos de la clase base y así nos estaremos ahorrando varias líneas de código y con esto se ahorra tiempo para el programador y también dinero para el cliente, como se ve ahora es un ciclo que nos beneficia a todos. En la herencia se utilizan términos para nombrar a las clases que heredan, hablábamos sobre que de una clase se derivan varias clases hijas bueno a la clase que hereda se le conoce como superclase y las que reciben la herencia se les conoce como subclase, al igual que todos los lenguajes de programación tienen una forma diferente de llamar estas clases el C++ lo interpreta como clase base a la superclase y clase derivada a la subclase, además de la gran diferencia que existe entre ellas (superclases y subclases), una mas de las diferencias son que la superclase es mas generalizada y la subclase es mas especifica ya que hereda varias cosas de la superclase y además ella puede crear las suyas, (por ejemplo tenemos una clase Vehículo que nos representa a todos los vehículos como camiones, bicicletas, motos, barcos, etc. Entonces creamos otra subclase llamada camión, este grupo será más pequeño a abarcar específicamente a lo que tiene que ver con camiones.), pero también no se puede decir que cuando se es una subclase solo será de ese tipo, también una subclase puede ser una superclase ya que de ella pueden derivarse varias subclases que heredaran igual sus atributos y sus métodos haciendo que esta se convierta en una superclase. Las relaciones de herencia forman estructuras jerárquicas en forma de árbol. Una superclase existe en una relación jerárquica con sus subclases. Cuando las clases participan en relaciones de herencia, se “afilian” con otras clases. Una clase se convierte ya sea en una superclase, proporcionando miembros a otras clases, o en una subclase, heredando sus miembros de otras clases. En algunos casos, una clase es tanto una subclase como una superclase.
RELACION ENTRE LAS SUPERCLASES Y LAS SUBCLASES
En este capitulo nos pudimos dar cuenta de que una subclase no puede acceder o heredar los miembros private de su superclase; al permitir esto se violaría el encapsulamiento de la superclase, sin embargo, una subclase puede heredar los miembros no private de su superclase.
El método de una superclase puede sobrescribirse en una clase para declarar una implementación apropiada para la subclase. El método toString no recibe argumentos y devuelve un objeto string. Por lo general una subclase sobrescribe el método toString de la clase object. Cuando se imprime un objeto usando el especificador de formato %s, se hace una llamada implícita al método toString del objeto para obtener su representación de cadena.
LOS CONSTRUCTORES EN LAS SUBCLASES. Al crear una instancia de un objeto de una subclase se empieza una cadena de llamadas a los constructores, en los que el constructor de la subclase, antes de realizar sus propias tareas, invoca al constructor de su superclase, ya sea en forma explicita (por medio de la referencia súper) o implícita (llamando al constructor predeterminado o sin argumentos de la superclase). De manera similar si la superclase se deriva de otra clase (como sucede con cualquier clase, excepto Object. El constructor de la superclase invoca al constructor que se llama en la cadena es siempre el de la clase Object. El cuerpo del constructor de la subclase original termina de ejecutarse al último. El constructor de cada clase manipula las variables de instancia de la superclase que hereda el objeto de la subclase. Nos pudimos dar cuenta que una subclase puede invocaren forma explicita a un constructor de una superclase; para ello utiliza la sintaxis de la llamada del constructor de la superclase: la palabra clave súper, seguida de un conjunto de patentaseis que contienen los argumentos del constructor de la superclase.
LA CLASE OBJECT
Este capitulo nos dice que todas las clases den java heredan, ya sea en forma directa o indirecta de la clase object (paquete java. lang) por lo que las demás clases heredan sus 11 métodos. A lo largo de este libro veremos varios de los métodos object. Puede aprender más acerca de los métodos de object en la documentación en línea de la APL del object y en el tutorial de java.
CONCLUCIÓN En este resumen vimos lo que fue la herencia en se forma general donde nos pudimos percatar de que un objeto de una clase es un objeto de otra clase, otro punto importante que comprendí en este resumen fue que todo objeto de una subclase en un objeto de su superclase es una cadena que se va dando como el de nuestra familia y que tiene un orden jerárquico en forma de árbol cuando las clases participan en relaciones de herencia, se relacionan con otras clases, una clase se convierte ya sea en una superclase dejando miembros a otras clases, o en una subclase, heredando sus miembros de otras clases en fin esto va descendiendo hasta llegar el final de árbol. También se menciono sobre los modificadores de acceso public y private donde ya sabemos que los públicos son a los que podemos acusar, heredar y modificar sin ningún problema a diferencia de los private que vienen siendo los privados es decir que solo los podemos manipular dentro de su misa clase pero no los podemos heredar , se menciono que todos los miembros public y protected de una superclase retienen su modificador de acceso original cuando se convierten en miembros de la subclase, también se dice que los métodos de una subclase pueden referirse a los miembros public y protected que se heredad de la superclase. En la relación entre superclases y las subclase llegamos en la conclusión de que una subclase no puede acceder o heredar los miembros private de su superclase por que al realizar esa acción automáticamente se violaría el encapsulamiento de la superclase, por lo contrario, una subclase puede heredar los miembros no private de su superclase. De igual manera vimos que al tener estas acciones de herencia y de subclases me di cuenta de que al momento de estar heredando se van creando por default las subclases y automáticamente se ase un llamado a los constructores del mismo no hay necesidad de estar realizando esa acción consecutivamente si no que el obtener una clase o subclase automáticamente todo esto se debe a la referencia súper o implícita llamando al constructor predeterminado o sin argumentos de la superclase.