Java en acción: un caso práctico

Aprende a usar los recursos de Java y los principios de la orientación a objetos mediante un caso de uso realista.
4.0 (27 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
276 students enrolled
$19
$25
24% off
Take This Course
  • Lectures 23
  • Length 2 hours
  • Skill Level Intermediate Level
  • Languages Spanish
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 7/2015 Spanish

Course Description

A menudo los cursos introductorios de Java fallan al mostrar como usar los recursos aprendidos en problemas complejos.

En este curso no se explican los conceptos básicos de Java. El estudiante ya debe conocer las bases del lenguaje Java: como crear una clase, que es un constructor, una interface etc. Este curso está pensado para que estudiantes con estos conocimientos básicos puedan ver en acción como los recursos aprendidos sirven para resolver de forma elegante y mantenible problemas lejos de ser triviales.

He utilizado el ejemplo usado en este curso durante muchos años en la formación presencial, y los alumnos siempre me han expresado como les ha servido para comprender los conceptos que en la teoría no quedaban suficientemente claros.

Por todo ello, este curso te va a servir para:

  1. Afianzar los conceptos teóricos mediante un caso práctico
  2. Observar como atacar un problema complejo y realista
  3. Como aplicar los recursos del lenguaje para diseñar un sistema flexible y fácil de mantener
  4. Profundizar en la comprexión, entre otros, de:
    1. Clases, variables y métodos
    2. Estructuras de control y la sentencia break
    3. Colecciones
    4. Clases abstractas y interfaces
    5. Sobre-escritura de métodos
    6. Clases anónimas
    7. Comparadores

El curso usa recursos disponibles el Java 1.7. No se incluyen los nuevos recursos del Java 8

El curso tiene una sección extra en la que iremos incorporando nuevos ejercicios que os ayuden a entrar en el mundo de la programación en Java. ¡Te esperamos!

What are the requirements?

  • Ya deberias tener unos conocimientos básicos del lenguaje Java. ¡No es necesario que sea un experto!
  • El ordenador debe tener instalado el JDK 1.7 (o superior) y el Eclipse

What am I going to get from this course?

  • Aplicar el lenguaje Java para resolver problemas complejos
  • Entender que estrategias consiguen soluciones más mantenibles y elegantes

What is the target audience?

  • Este curso es para estudiantes que se han introducido en los aspectos básicos del lenguaje y quieren ver como aplicarlos en un caso realista

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Preparación y aparatos
1 page

Enunciado del proyecto en el que trabajaremos. Leedlo tranquilamente y os recomiendo que penseis como lo resolveriais.

02:00

Como importar el proyecto de que desarrollaremos durante el curso.

El proyecto
Article
11:43

Preparación del proyecto y creación de la clase Aparato

Section 2: La red
10:14
  • ¿Como representarías el consumo del aparato?
  • ¿Debe ponerse a 0 cuando apagamos el aparato?
  • ¿Como representarías la red?
  • ¿Que Collection usarías para guardar los aparatos que contiene?
05:50
  • ¿Como mejorarías la encapsulación de la clase red?
  • ¿Crees que es posible modificar el estado interno de la red sin que está lo "perciba"?
  • Conoces lo que son las copias defensivas?
07:03
  • ¿Como calculamos el consumo actual de la red?
  • ¿Donde situarias el método?
03:53
  • ¿Donde guardamos la potencia máxima de la red?
  • ¿Donde calculamos si la red es estable?
  • ¿Como lo hacemos?
Repaso
3 questions
Section 3: El sistema de seguridad
05:23
  • ¿Crees que es necesaria o conveniente una clase para el sistema de seguridad?
  • ¿Debe el sistema de seguridad tener una referencia a la clase red?
  • ¿Debe tener la clase red una referencia al sistema de seguridad?
06:58
  • ¿Como implementarías una versión sencilla de la actuación del sistema de seguridad?
  • ¿Que necesita el sistema de seguridad de la red para realizar esta actividad?
  • ¿Es necesario modificar la clase red?
06:17
  • ¿Que mensajes incorporarías a la aplicación para mostrar el comportamiento del sistema de seguridad?
08:38

Se nos requiere que nuestro diseño deje abierta la posibilidad de disponer de distintas implementaciones de sistemas de seguridad:

  • ¿Que diseño aplicarías?
  • ¿Crees que tendrán algo en común todos estos sistemas de seguridad?
  • ¿Hay alguna parte de su código compartida por todas las implementaciones?
  • ¿Como hay que adaptar el método main?
10:20
  • ¿Como añadirías un sistema de seguridad que apagase primero los aparatos de menor consumo?
  • ¿Como realizarías la ordenación de los aparatos?
Repaso
2 questions
Section 4: Aparatos críticos
05:19
  • ¿Como definirías los aparatos críticos?
  • ¿Que relación tienen con la clase Aparato?
  • ¿Como modificarías la clase SistemaSeguridad?
06:48
  • ¿Que problemas tiene la implementación anterior?
  • ¿Como le afectaría añadir más tipos de aparatos?
  • ¿Como mejorarías el diseño?
Repaso
2 questions
Section 5: Alarmas
05:15
  • ¿Como implementarías las alarmas?
  • ¿Que clase debe tener una referencia a una alarma?
06:23

En esta clase vamos a añadir un nuevo tipo de aparato de gestión relativamente compleja.

El objectivo no es tanto ver como se puede crear este aparato, sinó ver como la solución planteada permite absorber estos nuevos tipos sin cambiar nada del código existente.

Section 6: ** Contenido extra **
4 pages

Encontrarás en el material adicional de esta lección dos documentos sobre como importar el proyecto eclipse con los ejercicios adicionales y otro documento sobre como ejecutar el mecanismo de "autocorreción".

Article

Este es un bloque de ejercicios que tratan los aspectos más basicos del lenguaje. Posteriormente añadiremos ejercicios más avanzados. ¡Al ataque!

Extras 01 - Solución al ejercicio
Article
1 page

Este es un ejercicio, que como el mostrado durante el curso, también he utilizado en la formación presentacial.

La idea es ejercitar las Collection y utilizar al máximo los recursos de la orientación a objetos para llegar a una solución elegante y mantenible.

¡Suerte a los valientes!

Article

Otro ejercicio auto-corregible. Esta vez, tratando aspectos básicos de la construcción de clases.

¡Suerte!

Clase extra: Acceso a otros cursos
Article

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Domingo Sebastian, Software Engineer & Trainer

Ingeniero en Informática por la Universitat de les Illes Balears (UIB) y programador certificado en Java.

Llevo desde 1998 trabajando de analista y programador en distintas organizaciones. Empecé trabajando en aplicaciones Oracle con PL/SQL, pero me enganché al Java cuando aún estaba por las versiones 1.1. A partir de aquel momento, he ido trabajando en el interesantísimo ecosistema que se ha ido creando en torno al lenguaje y su máquina virtual.

Tengo más de 10 años de experiencia en formación de Java, JEE, bases de datos, servidores de aplicaciones y herramientas de desarrollo.

Ready to start learning?
Take This Course