🎃 Grandes descuentos en libros en línea, eformaciones y vídeos*. Código CALABAZA30. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Aprender la programación orientada a objetos con el lenguaje C#

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

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-00370-7
  • EAN: 9782409003707
  • Ref. ENI: RIT2CAPOO

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-00371-4
  • EAN: 9782409003714
  • Ref. ENI: LNRIT2CAPOO
Este libro está dirigido a estudiantes y desarrolladores con cierta experiencia en la programación estructurada, y que deseen dar el salto a la programación orientada a objetos (POO) con el lenguaje C#, para desarrollar aplicaciones .NET. Después de una introducción a la historia de la POO y del lenguaje C#, el autor explica por qué este tipo de programación se ha convertido en algo inevitable en el desarrollo en entornos basados en...
Consultar extractos del libro Extracto del libro
  • Nivel Medio a Experto
  • Número de páginas 416 páginas
  • Publicación septiembre 2016
  • Nivel Medio a Experto
  • Publicación septiembre 2016
Este libro está dirigido a estudiantes y desarrolladores con cierta experiencia en la programación estructurada, y que deseen dar el salto a la programación orientada a objetos (POO) con el lenguaje C#, para desarrollar aplicaciones .NET.

Después de una introducción a la historia de la POO y del lenguaje C#, el autor explica por qué este tipo de programación se ha convertido en algo inevitable en el desarrollo en entornos basados en eventos gráficos. Se presentan al lector los conceptos de objeto, clase, y referencia. Más adelante se profundiza en los conceptos principales de la POO, como la encapsulación, la herencia, el polimorfismo y la abstracción.  También se muestran las diferentes etapas de un desarrollo basado en objetos, utilizando el principio de modelización UML.

A continuación, el autor presenta el framework .NET, su interés, su riqueza y su entorno de desarrollo con Microsoft Visual Studio 2015 Community. El lector descubrirá cómo C# reproduce los conceptos principales de la POO con explicaciones sencillas, ejemplos concretos y ejercicios corregidos que se pueden descargar en el sitio web  www.edicioneseni.com. También se presentan los tipos básicos del desarrollo .NET y su uso, las novedades de C# 6 y cómo explotar Visual Studio 2015 para simplificar la escritura y puesta a punto de programas. Los programas de prueba son de tipo consola o gráficos, basados en el uso de Windows Forms para ilustrar las comunicaciones entre objetos. Cuando es adecuado, se utilizan líneas de código paralelas con lenguajes de programación orientada a objetos como C++ y Java. Se aborda la comunicación entre mundos gestionados y no gestionados, así como el diseño de las pruebas de regresión en forma de objetos. Por último, el libro termina con el aspecto de programación multithread, que permite la ejecución simultánea de varios flujos de instrucciones y la programación asíncrona.

Al terminar el libro, el lector dispondrá de unas bases sólidas para el aprendizaje de las potentes librerías.NET y para realizar programas modulares, fiables y extensibles.


Los capítulos del libro:
Prólogo – Introducción a la POO – El diseño orientado a objetos – Introducción al framework .NET y a VS – Los tipos de C# – Creación de clases – Herencia y polimorfismo – Comunicación entre objetos – El multithreading – P-Invoke – Las pruebas

Descargas

Prólogo
  1. Introducción
Introducción a la POO
  1. Historia de la POO
  2. Historia de C#
El diseño orientado a objetos
  1. Enfoque procedural y 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. Modelización y representación UML
      1. a. Diagramas de casos de uso
      2. b. Diagramas de clases
      3. c. Enumeraciones
      4. d. Diagramas de secuencias
    3. 3. Redacción del código y pruebas unitarias
Introducción al framework .NET y a VS
  1. Introducción
  2. Entorno de ejecución
  3. La elección de los lenguajes
  4. Utilizar varios lenguajes
  5. Una librería muy completa
  6. Instalaciones simplificadas
  7. Una herramienta de desarrollo completa
Los tipos de C#
  1. "En C#, todo está tipado"
  2. "Todo el mundo hereda de System.Object"
    1. 1. Los tipos Valores
    2. 2. Los tipos Referencia
    3. 3. Boxing - Unboxing
    4. 4. Utilización de los métodos de System.Object
      1. a. Equals
      2. b. GetHashCode
      3. c. ToString
      4. d. Finalize
      5. e. Object.GetType y los operadores typeof e is
      6. f. Object.ReferenceEquals
      7. g. Object.MemberwiseClone
    5. 5. El tipo System.String y su alias string
  3. Ejercicio corregido
    1. 1. Enunciado
    2. 2. Corrección
Creación de clases
  1. Introducción
  2. Los espacios de nombres
  3. Declaración de una clase
    1. 1. Accesibilidad de los miembros
    2. 2. Atributos
      1. a. Atributos constantes
      2. b. Atributos en modo solo lectura
    3. 3. Propiedades
    4. 4. Constructor
      1. a. Etapas en la construcción de un objeto
      2. b. Sobrecarga de constructores
      3. c. Constructores con valores de argumentos por defecto
      4. d. Encadenamiento de constructores
      5. e. Los constructores de tipo static
      6. f. Los constructores de tipo private
      7. g. Los inicializadores de objetos
    5. 5. Destructor
    6. 6. Otro uso de using
    7. 7. La palabra clave this
    8. 8. Métodos
      1. a. Declaración
      2. b. Paso de argumentos por valor y por referencia
    9. 9. Mecanismo de las excepciones
      1. a. Presentación
      2. b. Principio de funcionamiento de las excepciones
      3. c. Soporte a varias excepciones
      4. d. try ... catch ... finally y using
    10. 10. Sobrecarga de los métodos
    11. 11. 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. Visual Studio 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 .NET
  5. Asociación, composición y agregación
    1. 1. Las tablas
    2. 2. Las colecciones
      1. a. List<> y LinkedList<>
      2. b. Queue<t> y Stack<t></t></t>
      3. c. Dictionary<tkey, tvalue=""></tkey,>
      4. d. Los enumeradores
      5. e. La magia del yield
    3. 3. Ejercicio
      1. a. Enunciado
      2. b. Corrección
  6. Las clases anidadas
  7. Las estructuras
    1. 1. Declaración de una estructura
    2. 2. Instanciación de una estructura
  8. Las clases parciales
  9. Los métodos parciales
  10. Los indexadores
  11. Sobrecarga de operadores
Herencia y polimorfismo
  1. Entender la herencia
  2. Codificación de la clase de base y su heredada
    1. 1. Prohibir la herencia
    2. 2. Definir miembros heredables
    3. 3. Codificación 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 básicos desde la claseheredada
    3. 3. Ocultación o substitución de miembrosheredados
      1. a. Codificación de la ocultación
      2. b. Codificación de la sustitución
  4. Ejercicio
    1. 1. Enunciado
    2. 2. Corrección
  5. Las clases abstractas
  6. Los métodos de extensión
  7. El polimorfismo
    1. 1. Entender el polimorfismo
    2. 2. Explotación del polimorfismo
    3. 3. Los operadores is y as
Comunicación entre objetos
  1. El evento: estar a la escucha
  2. El pattern Observador
  3. La solución C#: delegate y event
    1. 1. Utilización del delegate en el design patternObservador
    2. 2. Utilización de un evento
    3. 3. Cómo acompañar al evento de datos
    4. 4. Recursos genéricos para simplificar todavíamás
    5. 5. Las expresiones lambda
    6. 6. Ejemplo de uso de event
  4. Llamadas síncronas, llamadas asíncronas
    1. 1. Enfoque 1
    2. 2. Enfoque 2
    3. 3. Enfoque 3
    4. 4. Enfoque 3 con una expresión lambda
  5. Ejercicio
    1. 1. Enunciado
    2. 2. Consejos para la realización
    3. 3. Corrección
El multithreading
  1. Introducción
  2. Entender el multithreading
  3. Multithreading y .NET
  4. Implementación en C#
    1. 1. Uso de un BackgroundWorker
      1. a. Comunicación del thread principal con elthread secundario
      2. b. Abandono desde el thread principal
      3. c. Comunicación del thread secundario con elthread principal
      4. d. Comunicación al final de la operacióndel thread secundario
      5. e. Ejemplo de código
    2. 2. Utilización del pool de threads creado por.NET
    3. 3. Gestión «manual» con Thread/ParameterizedThreadStart
  5. Sincronización entre threads
    1. 1. Necesidad de la sincronización
    2. 2. La simulación de la sincronización
    3. 3. La palabra clave lock
    4. 4. La clase Monitor
    5. 5. La clase Mutex
    6. 6. La clase Semaphore
  6. Comunicación entre threads
    1. 1. Join
    2. 2. Las sincronización de eventos
    3. 3. Comunicación entre threads secundarios eIHM
    4. 4. Ejercicio
      1. a. Enunciado
      2. b. Corrección
  7. La programación asíncrona
    1. 1. La palabra clave async
    2. 2. Contenido de un método async
    3. 3. Evidencias
    4. 4. Resultados posibles de un método async
P-Invoke
  1. Introducción
    1. 1. Recordatorio sobre las DLL no gestionadas
    2. 2. P-Invoke y su Marshal
  2. El caso sencillo
    1. 1. Declaración y llamada
    2. 2. Ajuste de Visual Studio para la puesta a punto
  3. Llamada con argumentos y retorno de función
  4. Tratamiento con las cadenas de caracteres
    1. 1. Codificación de los caracteres
    2. 2. Codificación de las cadenas
    3. 3. Transmisión de las cadenas
  5. Intercambio de tablas
    1. 1. De C# a C/C++
    2. 2. De C# a C/C++ ydespués vuelta a C#
  6. Compartición de estructuras
    1. 1. Declaración de las estructuras
    2. 2. Utilización de las estructuras
  7. Las directivas [In] y [Out]
  8. Realización de un "wrapper"
    1. 1. Una región "NativeMethods"
    2. 2. Almacenamiento de la información de la DLLnativa
    3. 3. Instanciación de DLL nativa
    4. 4. Métodos de uso de la DLL gestionada desdeel wrapper
    5. 5. Uso del wrapper
  9. 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 de pruebas unitarias
  4. La clase de pruebas
  5. Contenido de un método de prueba
  6. Tratamientos de preparación y limpieza
  7. TestContext y fuente de datos
  8. Automatización de las pruebas en la compilación
  9. Automatización de las pruebas fuera de Visual Studio
  10. CodedUI
  11. Ejercicio
    1. 1. Enunciado
    2. 2. Corrección
Autor : Luc  GERVAIS

Luc GERVAIS

Desde hace veinticinco años, Luc Gervais ejerce la profesión de desarrollador de software. Provenía del mundo de la electrónica y empezó a programar en lenguaje ensamblador para pasar posteriormente a C, C++, C# y Java. Ha impartido muchas sesiones de formación sobre estos diferentes lenguajes de programación, tanto para un público formado por desarrolladores profesionales, como por estudiantes (Universidad de Rouen). Esta doble experiencia (técnica y pedagógica), le permite responder perfectamente a las expectativas de los lectores que deseen pasar a 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 Java (con ejercicios prácticos y corregidos)

Novedades

Ver más