¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros y videos
  2. Aprender Programación Orientada a Objetos con Java - con ejercicios prácticos y soluciones (2ª edición)

Aprender Programación Orientada a Objetos con Java con ejercicios prácticos y soluciones (2ª edición)

Información adicional

  • 5% de descuento en todos los libros
  • Envío gratis a partir de 25 € de compra
  • Versión online gratis por un año

Características

  • Encuadernación rústica - 17 x 21 cm
  • ISBN: 978-2-409-05028-2
  • EAN: 9782409050282
  • Ref. ENI: RIT4JAPOO

Información adicional

  • 5% de descuento en todos los libros
  • Versión online digital, no descargable
  • Consultable en línea durante 10 años inmediatamente después de la validación del pago.

Características

  • HTML
  • ISBN: 978-2-409-05029-9
  • EAN: 9782409050299
  • Ref. ENI: LNRIT4JAPOO
Este libro se dirige a los estudiantes y desarrolladores que hayan tenido previamente una primera experiencia con la programación estructurada y que deseen pasar a la Programación Orientada a Objetos (POO) con el lenguaje Java, para desarrollar aplicaciones portables. Después de una breve historia de la POO y del lenguaje Java, el autor explica por qué este tipo de programación se ha convertido en algo imprescindible para desarrollar en los entornos gráficos orientados a eventos. Se presentan...
Consultar extractos del libro Extracto del libro
  • Nivel Iniciado a Medio
  • Número de páginas 427 páginas
  • Publicación mayo 2025
  • Nivel Medio a Experto
  • Publicación mayo 2025

Este libro se dirige a los estudiantes y desarrolladores que hayan tenido previamente una primera experiencia con la programación estructurada y que deseen pasar a la Programación Orientada a Objetos (POO) con el lenguaje Java, para desarrollar aplicaciones portables.

Después de una breve historia de la POO y del lenguaje Java, el autor explica por qué este tipo de programación se ha convertido en algo imprescindible para desarrollar en los entornos gráficos orientados a eventos. Se presentan las nociones de objeto, clase y referencia, para pasar a los fundamentos de la POO, que son la encapsulación, la herencia, el polimorfismo y la abstracción. También se exponen las diferentes etapas de un desarrollo orientado a objetos, con los principios de la modelización UML.

Posteriormente, el autor presenta la máquina virtual Java, su interés, riqueza y un entorno de desarrollo con IntelliJ IDEA, de la empresa JetBrains. El lector descubrirá cómo Java reproduce los principios de la POO, siguiendo unas sencillas explicaciones, con unos ejemplos concretos y realizando ejercicios de entrenamiento. También descubrirá los tipos básicos del desarrollo Java y su utilización, cómo explotar un IDE para simplificar la escritura de los programas y ponerlos a punto. Los programas de prueba son de tipo consola o gráficos, basados en la utilización de Swing para ilustrar las comunicaciones entre objetos. Cuando es pertinente, se exponen en paralelo códigos con los lenguajes de programación orientados a objetos C++ y C#. Se presenta la programación multithread, que permite la ejecución simultánea de varios flujos de instrucciones, seguido de una introducción a las pruebas unitarias tan importantes para asegurar la fiabilidad de los objetos. Una parte dedicada a la reflexión en Java, que promete algunas sorpresas. Para terminar, el último capítulo se dedica a las clases anónimas y a las expresiones lambda.

Al terminar este libro, el lector dispondrá de unas sólidas bases para aprender los potentes API Java y realizar programas orientados a objetos modulares, fiables y extensibles.

Prólogo
  1. Introducción
Introducción a la POO
  1. Historia de la POO
  2. Histórico del lenguaje Java
El diseño orientado a objetos
  1. Enfoque procedural y de descomposición funcional
  2. La transición hacia el enfoque orientado a objetos
  3. Las características de la POO
    1. 1. El objeto, la clase y la referencia
      1. a. El objeto
      2. b. La clase
      3. c. La referencia
    2. 2. La encapsulación
    3. 3. La herencia
    4. 4. El polimorfismo
    5. 5. La abstracción
  4. El desarrollo orientado a objetos
    1. 1. Especificaciones del software
    2. 2. Presentación del ciclo en V
    3. 3. Seguir siendo ágil con el modelo en V
    4. 4. Modelización y representación UML
      1. a. Los diagramas de casos de uso
      2. b. Los diagramas de clase
      3. c. Las enumeraciones
      4. d. Los diagramas de secuencia
    5. 5. Codificación, integración y puestaen producción
  5. Ejercicios
    1. 1. Jerarquía de clases
    2. 2. Relaciones entre objetos
    3. 3. Agregación de objetos
    4. 4. Diagrama de casos de uso
    5. 5. Diagrama de secuencias
Introducción a la plataforma Java
  1. Introducción
  2. Entorno de ejecución
  3. Una librería muy completa
  4. Las herramientas de desarrollo con buen rendimiento
  5. Descarga e instalación de JDK
  6. Descarga e instalación de IntelliJ IDEA
  7. El inevitable Hello World
  8. Una puntualización sobre los acrónimos
Los tipos en Java
  1. Introducción
  2. Los tipos primitivos
  3. Los tipos por referencia
  4. Para ayudarnos...
  5. La superclase java.lang.Object
    1. 1. equals
    2. 2. hashCode
    3. 3. toString
    4. 4. finalize
    5. 5. getClass, .class y el operador instanceof
    6. 6. clone
    7. 7. notify, notifyAll y wait
  6. La clase java.lang.String
  7. Ejercicio
    1. 1. Enunciado
    2. 2. Corrección
Creación de clases
  1. Introducción
  2. Paquetes
  3. Declaración de una clase
    1. 1. Accesibilidad de los miembros
    2. 2. Atributos
    3. 3. Descriptores de acceso (getter y setter)
    4. 4. Constructores
      1. a. Etapas de la construcción de un objeto
      2. b. Sobrecarga de constructores
      3. c. Encadenamiento de constructores
      4. d. El inicializador static
      5. e. El inicializador dinámico
      6. f. Los constructores de tipo private
      7. g. El «builder pattern»
    5. 5. Destructores
    6. 6. La palabra clave this y sus virtudes
    7. 7. Métodos
      1. a. Declaración
      2. b. Paso de argumentos por valor
    8. 8. Sobrecarga de métodos
    9. 9. Mecanismo de las excepciones
      1. a. Presentación
      2. b. Principio de funcionamiento de las excepciones
      3. c. Soporte de varias excepciones
    10. 10. Ejercicio
      1. a. Enunciado
      2. b. Consejos
      3. c. Corrección
  4. Las interfaces
    1. 1. Introducción
    2. 2. El contrato
    3. 3. Declaración de una interfaz
    4. 4. Implementación
    5. 5. IntelliJ IDEA y las interfaces
    6. 6. Representación UML de una interfaz
    7. 7. Interfaces y polimorfismo
    8. 8. Ejercicio
      1. a. Enunciado
      2. b. Consejos
      3. c. Corrección
    9. 9. Las interfaces de la máquina virtual Java
  5. Asociaciones, composiciones y agregaciones
    1. 1. Las tablas
    2. 2. Las colecciones
      1. a. ArrayList<e> y LinkedList<e></e></e>
      2. b. Queue<t> y Stack<t></t></t>
      3. c. HashMap<k, v=""></k,>
      4. d. Los iteradores
    3. 3. Ejercicio
      1. a. Enunciado
      2. b. Corrección
  6. Las clases anidadas
  7. Algunas diferencias con C#
Herencia y polimorfismo
  1. Entender la herencia
  2. Codificación de la superclase (clase de base) y de su subclase (clase heredada)
    1. 1. Prohibir la herencia
    2. 2. Definir los miembros heredables
    3. 3. Sintaxis de la herencia
    4. 4. Explotación de una clase heredada
  3. Comunicación entre clase de base y clase heredada
    1. 1. Los constructores
    2. 2. Acceso a los miembros de la clase de base desde elheredado
    3. 3. Métodos virtuales
    4. 4. Métodos de tipo final
  4. Ejercicio
    1. 1. Enunciado
    2. 2. Corrección
  5. Las clases abstractas
  6. El polimorfismo
    1. 1. Entender el polimorfismo
    2. 2. Explotación del polimorfismo
    3. 3. Los operadores instanceof y ()
Comunicación entre objetos
  1. El evento: estar a la escucha
  2. El pattern Observador
    1. 1. Aspectos generales
    2. 2. Implementación en lenguaje Java
    3. 3. Los listeners
    4. 4. Utilización de un listener en una aplicacióngráfica
  3. Ejercicios
    1. 1. Ejercicio 1
      1. a. Enunciado
      2. b. Corrección
    2. 2. Ejercicio 2
      1. a. Enunciado
      2. b. Corrección
  4. Llamadas síncronas y asíncronas
El multithreading
  1. Introducción
  2. Entender el multithreading
  3. Multithreading y Java
  4. Implementación de los threads en Java
    1. 1. Extender la clase Thread
    2. 2. Implementar la interfaz Runnable
    3. 3. Dormirse y esperar
    4. 4. Abandono desde el thread primario
    5. 5. Threads y clases anónimas
      1. a. Con la interfaz Runnable
      2. b. Con la clase Thread
      3. c. Acceso simplificado a las variables y datos miembro
  5. Sincronización entre threads
    1. 1. Necesidad de la sincronización
    2. 2. Los métodos syncronized
    3. 3. Las operaciones syncronized
    4. 4. La clase Semaphore
  6. Comunicación inter-threads
    1. 1. El método join
    2. 2. Los objetos de sincronización
  7. Ejercicio
    1. 1. Enunciado
    2. 2. Corrección
Las pruebas
  1. Introducción
  2. Entorno de ejecución de las pruebas unitarias
  3. El proyecto con pruebas unitarias
  4. La clase de pruebas
  5. Contenido de un método de prueba
  6. Operaciones de preparación y limpieza
  7. Las pruebas con argumentos externos
  8. Las suites de pruebas
  9. Ejercicio
    1. 1. Enunciado
    2. 2. Corrección
La reflexión
  1. Introducción
  2. Pero ¿para qué hacerlo?
  3. Introspección de una clase Java
  4. Carga dinámica y utilización de una clase descubierta
  5. Ejercicio
  6. Privado, pero no tanto...
  7. Descompilación y ofuscación
Anonimato y lambda
  1. Introducción
  2. Clases anónimas
    1. 1. Matar dos pájaros de un tiro
    2. 2. Sintaxis especial
    3. 3. Ejemplo de extensión de una superclase
    4. 4. Ejemplo de aplicación de una interfaz
    5. 5. Intercambio de información
    6. 6. Ejercicio
      1. a. Declaración
      2. b. Corregido
  3. Expresiones lambda
    1. 1. El concepto
    2. 2. Interfaces "funcionales" como modelos
    3. 3. Sintaxis lambda
    4. 4. Intercambio de información
    5. 5. Ejercicio
      1. a. Declaración
      2. b. Corrección
    6. 6. Parámetro de tipo lambda
    7. 7. java.util.function, un paquete "pecera"
    8. 8. Aplicación a las colecciones
    9. 9. Conclusión
Autor : Luc  GERVAIS

Luc GERVAIS

Luc Gervais trabaja como desarrollador de software desde hace 35 años. Procedente del mundo de la electrónica, comenzó programando en lenguaje ensamblador antes de pasar a C, C++, C# y Java. Ha impartido numerosos cursos de formación sobre diferentes lenguajes de programación tanto para desarrolladores profesionales como para estudiantes (Universidad de Rouen). Esta doble experiencia (técnica y educativa) le permite responder perfectamente a las expectativas de los lectores que deseen avanzar hacia la Programación Orientada a Objetos (POO).
Más información

Descubrir todos sus libros

  • Aprender la programación orientada a objetos con el lenguaje C#

Novedades

Ver más