Capitulo 5 - Certificacion Java
Camilo Nova
CEOLa relación de herencia 'extends' es llamada "es un". Si jaguar extiende de vehículo, entonces jaguar "es un" vehículo.
La relación "tiene un" proviene cuando una clase declara un atributo, así <clase> tiene un <atributo>. Si jaguar declara un atributo Motor, entonces jaguar "tiene un" Motor y "es un" vehículo.
La encapsulacion se refiere a la capacidad de tener atributos (propiedades) y métodos (comportamiento) unidos en una clase.
Una buena encapsulacion requiere que todos los atributos sean declarados 'private', lo cual a su vez es una buena practica de programacion.
La relación "tiene un" esta relacionada con la encapsulacion y "es un" con la herencia.
Alta Cohesión y Bajo Acoplamiento. La cohesión se refiere a como es la estructura interna de una clase y el acoplamiento a su relación con las demás.
En caso de una conversión implícita (cast) de tipos de datos primitivos no permitida, el error es informado en tiempo de compilacion.
Importante para recalcar en una conversión implícita:
1) No existe conversión entre tipos booleanos y no-booleanos
2) Un tipo de dato primitivo se puede convertir en otro dato primitivo de mayor o igual tamanno
Una conversión explicita es aquella que el programador determina en código fuente, la implícita es aquella que da por hecha el compilador.
Sobreescribir un método es cambiar el comportamiento de un método definido previamente, Sobrecargar es implementar la funcionalidad de un método usando el mismo nombre pero diferentes parámetros.
A partir de la versión 5.0 el tipo de retorno de un método sobreescrito puede ser una clase que herede o implemente la clase o interfaz con la cual fue declarado el tipo de retorno en el método. Es decir si el método en la clase padre tiene un tipo de retorno "Carro" es valido que una clase que sobreescriba ese mismo método implemente un tipo de retorno "Cadillac", claro si, Cadillac "es un" Carro.
Una sobrecarga de método es una funcionalidad que permite escribir varios métodos con el mismo nombre en una misma clase, teniendo diferentes parámetros pero el mismo tipo de retorno.
Un método puede ser sobreescrito (Overwrite) o sobre cargado (Overloaded) a la vez en una clase que hereda.
Elementos importantes a resaltar:
-Dos o mas métodos con el mismo nombre y diferentes parámetros o en orden distinto se dice que son sobrecargados (Overloaded)
-Dos métodos sobrecargados pueden tener el mismo o diferente tipo de retorno
-Los métodos sobrecargados son practicamente independientes entre ellos
-Cualquiera de los métodos de la superclase pueden ser sobrecargados por la subclase
-Diferentes métodos sobrecargados pueden tener diferentes tipos de declaraciones 'throws'
-Diferentes métodos sobrecargados pueden tener diferentes modificadores
Los métodos constructores de la clase no pueden ser sobreescritos, pero si pueden ser sobrecargados en la misma clase
Recordemos:
Un constructor debe tener el mismo nombre de la clase y cero o mas parámetros sin tipo de retorno.
Una clase puede tener mas de un constructor, si no se define un constructor el compilador define uno por defecto sin argumentos.
Written by Camilo Nova
As the Axiacore CEO, Camilo writes about the intersection of technology, design, and business. With a strategic mindset and a deep understanding of the industry, he is dedicated to helping companies grow.