Uno de las partes medulares en un lenguaje orientado a Objetos es el uso de Herencias ("Inheritance") , el cual permite reutilizar Clases existentes con todas las funcionalidades/comportamientos ya diseñadas en ellas; en Herencias ("Inheritance") el termino reutilizable toma otro sentido al utilizado en la secciones anteriores al importarse Clases (import), uno más complejo y poderoso, observe:
El primer diagrama UML ("Universal Markup Language") muestra 3 Clases(Guitarra,Piano,Saxofón) que heredan ("Inherit") de una Clase Base (Instrumento),mientras el segundo diagrama muestra 2 Clases (Circulo,Triangulo) que heredan ("Inherit") de una Clase Base (Figura); este mecanismo permite que nuevas Clases hereden el comportamiento de una Clase Base ya depurada y funcional, en el proceso teniendo acceso a los métodos/campos ya creados con anterioridad ; a continuación se describe un ejemplo que hace uso de Herencias ("Inheritance"):
El uso de Herencias es ampliamente utilizado en diseños Java, inclusive las Clases Base del JDK lo utilizan extensamente, si observa la documentación de estas Clases, notará en la parte superior el árbol de Herencias ("Inheritance") para la Clase correspondiente, donde todas son descendientes de la Clase Base java.lang.Object
.
En Java al igual que otros lenguajes son utilizados condicionales que permiten controlar el flujo de ejecución en un programa, los tres principales tipos son el conocido if/else,while y for; a continuación se describen varios ejemplos con el uso de if/else:
El uso de Ciclos en lenguajes de programación es un concepto ampliamente utilizado, a continuación se describe el uso del ciclo for
y while
:
En ciertas ocasiones surge la necesidad de interrumpir un ciclo si ocurre determinada condición, o bien, saltar una iteración en ciertas circunstancias, este comportamiento se logra a través de los vocablos break y continue, a continuación se describe su uso:
Otra variación para interrumpir y saltar iteraciones en ciclos es a través de Etiquetas (Labels), este mecanismo logra un comportamiento similar al famoso, pero criticado "goto". Aunque su uso es permitido, es fuertemente desalentado debido a la poca legibilidad que resulta en el código.
A través de un Switch se posible definir una serie de tareas cada una asignada a una lista de valores, este tipo de estructura es ideal cuando se requieren condicionales que lleven más de dos valores, en lugar de anidar grupos de condicionales if/else es posible lograr el mismo comportamiento a través de un switch: