Una introducción a los elementos básicos del leguaje JAVA, no tiene un directorio en este repo ya que no se pide desarrollar código. Consejo: investigá acerca del operador de post-incremento y pre-incremento (la diferencia entre a++ y ++a).
Objetos y Clases. El modelo computacional de la POO. Objetos del problema y objetos de software. Diagrama de clases. Atributos y Servicios. Atributos de instancia y atributos de clase. Constructores, comandos y consultas. Responsabilidades. Alternativas de diseño. Objetos y referencias. Referencias nulas y referencias ligadas. Identidad, igualdad y equivalencia. Implementación y verificación en Java. Diagrama de objetos.
Asociación y Dependencia entre clases. La relación tieneUn y usaUn. Igualdad superficial y en profundidad. Copiar y Clonar superficial y en profundidad.
Encapsulamiento y Abstracción de datos. Modificadores de acceso. Clases clientes y clases proveedoras. Tipos de Datos Abstractos. Arreglos. Recorridos exhaustivos y no exhaustivos. Legibilidad, eficiencia y correctitud.
Herencia entre clases. Extensibilidad y Reusabilidad. Generalización y especialización. La relación isa. Polimorfismo. Variables y asignaciones polimórficas. Chequeo de Tipos. Ligadura dinámica. Redefinición y Sobrecarga. Casting.
Genericidad usando herencia. Clases Abstractas. Interfaces. Clases internas.