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

Documentos relacionados
- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo

Lenguaje de programación con JAVA

INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11

Programación con Visual C#

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES


Universidad Salesiana de Bolivia

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5

La clase Integer y sus métodos. Los Operadores (concepto). Operadores Lógicos y a nivel de Bits. Operadores de desplazamiento. Concatenaciones. La Con

Curso Programación Orientada a Objetos con VB y Visual Studio 2013

Curso de Java POO: Programación orientada a objetos

TEMA 2 Introducción a C# ANÁLISIS Y DESARROLLO DE APLICACIONES INFORMÁTICAS Curso 2010/2011

Objetivos y Temario CURSO VISUAL BASIC 2010

JAVA 7 Los fundamentos del lenguaje Java

Aprender a desarrollar con JavaScript

Curso de Java POO: Programación orientada a objetos

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

UML: INTRODUCCIÓN, ORIENTACIÓN a Objetos

Conceptos de Programación Orientada a Objetos

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET

Guía del Curso Analista Programador Java: Business Apps Expert

20483 Programación en C#

Desarrollador de Aplicaciones Web con Java

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET 2010

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Java y Eclipse Desarrolle una aplicación con Java y Eclipse

POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015 HORAS POR SEMANA DEL LABORATORIO: DIAS QUE SE IMPARTE EL LABORATORIO:

Curso de Programación en C# (40 horas)

PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas

CURSO DE LENGUAJE C. 4.1 Conceptos básicos de funciones 4.2 Funciones que regresan valores no enteros 4.3 Variables externas 4.4 Reglas de alcance

CLAVE ASIGNATURA REQUISITOS HORA/SEMANA CREDITOS TI-8 PROGRAMACION II 80% DE ASISTENCIA 4 6

Resultado de Aprendizaje:

AREA A LA QUE PERTENECE: 103 Matemática Básica 2 34 créditos POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015

Metodologías en la Ingeniería del Software Métodos Orientados a Objetos

Derechos de Acceso: COMPOSICION

Introducción a la programación orientada a objetos

Conversión entre Tipos

PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

Curso Programación Orientada a Objectos con C# y Visual Studio 2010

C.I.F.: B Inscrita en el Registro Mercantil de Madrid, Tomo Libro 0, Folio 135, Sección 8. Hoja M Inscripción 1ª

Desarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans

CONTENIDO PARTE 1. PROGRAMACIÓN BÁSICA... 1 PRÓLOGO... XXIII

INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

Descripción y Contenido del Curso. Programación C++ Capacity Academy.

Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo

Capacitación adquirida por el alumno al finalizar este modulo

VB.NET y Visual Studio 2015 Los fundamentos del lenguaje

Tema 6: Programación Orientada a Objetos en C# Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle

Enfoque de Desarrollo de software OO

Curso Introducción JAVA Pág.: 1

Índice de contenido. Índice de contenido... i Indice de prácticas...ix Prólogo...xi Cómo utilizar este libro...xv

Introducción a la Orientación a Objetos

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.

1

Contenido PARTE I. ALGORITMOS Y HERRAMIENTAS DE PROGRAMACIÓN Prefacio a la cuarta edición...

Guía práctica de estudio 04: Clases y objetos

Java Inicial (20 horas)

Tema 4. Excepciones en Java

FORMACIÓN Principios de la programación orientada a objetos

INDICE Capitulo 1. Fundamentos de Java Capitulo 2. Clases y POO

Elabore el diagrama de clases en UML y la codificación de un programa para resolver los siguientes problemas:

Introducción. Conocimientos Previos Conocimientos básicos de informática. Duración total del curso: 36 hrs.

La Herencia: Teoría (1)

Diseño Basado en Componentes. Curso 2008 / 09

2.2.- Paradigmas de la POO

Fundamentos de Programación Visual Basic

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA PROYECTO CURRICULAR DE INGENIERÍA INDUSTRIAL

PROGRAMACION ORIENTADA A OBJETOS EN C++

JAVA -INTRODUCCIÓN AL LENGUAJE

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

Cuando el lenguaje si importa

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)

Planificaciones Análisis de la Información. Docente responsable: GONZALEZ NORBERTO DANIEL. 1 de 6

Programación Orientada a Objetos en C#.NET CAPÍTULO 5 H E R E N C I A. Ing. Bruno López Takeyas, M.C.

Programación Java SE 7

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

INDICE Capitulo 1. introducción a las computadoras y a la programación Capitulo 2. El lenguaje de programación Java. aplicaciones y programas

INDICE Prefacio 1. Fundamentos de Java 2. Introducción a los tipos de datos y operadores

10550 Programming in Visual Basic with Microsoft Visual Studio 2010

JAVA Fundamentos Sesiones por Video-Conferencia

Experto en Desarrollo de Aplicaciones Windows con Visual Studio 2015 C# 6

ESCUELA DE INFORMÁTICA

Sistemas Distribuidos. Soporte de Sistemas Operativos

PERSISTENCIA DE OBJETOS EN BASE DE DATOS RELACIONALES FRANCISCO LEÓN NAJERA CÓDIGO: CEDULA:

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA

Paquete de curso Programación Java SE (Exclusivo Estudiantes y catedráticos)

Visual Studio 2010 Desarrollo de aplicaciones web con C# 4, Framework Entity 4, ASP.NET 4.0,...

Analista Programador en Visual Basic 2012 (VB.NET 2012)

TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN EN COMPETENCIAS PROFESIONALES ASIGNATURA DE LENGUAJE DE PROGRAMACIÓN

Especialista en Programación Visual Basic 2012 (VB.NET 2012) Framework.NET 4.5

PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I

Tutorial de C# Delegados y Eventos. Por: Óscar López, M.Sc.

Capítulo 16. Diagrama de Clases UML

Programación Orientada a Objetos (POO)

Repaso de las características más importantes de la programación Java y su adaptación a Android

IFCD0210 Desarrollo de Aplicaciones con Tecnologías Web

Transcripción:

Introducción a la POO 1. Historia de la POO 11 2. Historia de C# 13 El diseño orientado a objetos 1. Enfoque procedural y descomposición funcional 15 2. La transición hacia el enfoque orientado a objetos 16 3. Las características de la POO 17 3.1 El objeto, la clase y la referencia 17 3.1.1 El objeto 17 3.1.2 La clase 18 3.1.3 La referencia 19 3.2 La encapsulación 20 3.3 La herencia 20 3.4 El polimorfismo 22 3.5 La abstracción 23 4. El desarrollo orientado a objetos 24 4.1 Especificaciones del software 24 4.2 Modelización y representación UML 24 4.2.1 Diagramas de casos de uso 27 4.2.2 Diagramas de clases 28 4.2.3 Enumeraciones 34 4.2.4 Diagramas de secuencias 35 4.3 Redacción del código y pruebas unitarias 37 1/10

Introducción al framework.net y a VS 1. Introducción 39 2. Entorno de ejecución 39 3. La elección de los lenguajes 40 4. Utilizar varios lenguajes 40 5. Una librería muy completa 41 6. Instalaciones simplificadas 42 7. Una herramienta de desarrollo completa 44 Los tipos de C# 1. "En C#, todo está tipado" 51 2. "Todo el mundo hereda de System.Object" 56 2.1 Los tipos Valores 56 2.2 Los tipos Referencia 60 2.3 Boxing - Unboxing 61 2.4 Utilización de los métodos de System.Object 62 2.4.1 Equals 63 2.4.2 GetHashCode 66 2.4.3 ToString 68 2.4.4 Finalize 69 2.4.5 Object.GetType y los operadores typeof e is 70 2.4.6 Object.ReferenceEquals 71 2.4.7 Object.MemberwiseClone 72 2/10

2.5 El tipo System.String y su alias string 75 3. Ejercicio corregido 79 3.1 Enunciado 79 3.2 Corrección 79 Creación de clases 1. Introducción 83 2. Los espacios de nombres 83 3. Declaración de una clase 90 3.1 Accesibilidad de los miembros 91 3.2 Atributos 92 3.2.1 Atributos constantes 93 3.2.2 Atributos en modo solo lectura 94 3.3 Propiedades 95 3.4 Constructor 103 3.4.1 Etapas en la construcción de un objeto 103 3.4.2 Sobrecarga de constructores 105 3.4.3 Constructores con valores de argumentos por defecto 105 3.4.4 Encadenamiento de constructores 106 3.4.5 Los constructores de tipo static 107 3.4.6 Los constructores de tipo private 108 3.4.7 Los inicializadores de objetos 110 3.5 Destructor 111 3.6 Otro uso de using 113 3.7 La palabra clave this 114 3.8 Métodos 117 3.8.1 Declaración 117 3.8.2 Paso de argumentos por valor y por referencia 121 3.9 Mecanismo de las excepciones 136 3.9.1 Presentación 136 3/10

3.9.2 Principio de funcionamiento de las excepciones 137 3.9.3 Soporte a varias excepciones 147 3.9.4 try... catch... finally y using 148 3.10 Sobrecarga de los métodos 152 3.11 Ejercicio 154 3.11.1 Enunciado 154 3.11.2 Consejos 155 3.11.3 Corrección 155 4. Las interfaces 158 4.1 Introducción 158 4.2 El contrato 159 4.3 Declaración de una interfaz 160 4.4 Implementación 161 4.5 Visual Studio y las interfaces 162 4.6 Representación UML de una interfaz 165 4.7 Interfaces y polimorfismo 166 4.8 Ejercicio 166 4.8.1 Enunciado 166 4.8.2 Consejos 167 4.8.3 Corrección 169 4.9 Las interfaces de.net 173 5. Asociación, composición y agregación 176 5.1 Las tablas 182 5.2 Las colecciones 189 5.2.1 List<> y LinkedList<> 190 5.2.2 Queue<T> y Stack<T> 193 5.2.3 Dictionary<TKey, TValue> 193 5.2.4 Los enumeradores 194 5.2.5 La magia del yield 195 5.3 Ejercicio 197 5.3.1 Enunciado 197 5.3.2 Corrección 198 4/10

6. Las clases anidadas 200 7. Las estructuras 203 7.1 Declaración de una estructura 203 7.2 Instanciación de una estructura 205 8. Las clases parciales 208 9. Los métodos parciales 209 10. Los indexadores 210 11. Sobrecarga de operadores 214 Herencia y polimorfismo 1. Entender la herencia 219 2. Codificación de la clase de base y su heredada 220 2.1 Prohibir la herencia 220 2.2 Definir miembros heredables 221 2.3 Codificación de la herencia 221 2.4 Explotación de una clase heredada 222 3. Comunicación entre clase de base y clase heredada 223 3.1 Los constructores 223 3.2 Acceso a los miembros básicos desde la clase heredada 227 3.3 Ocultación o substitución de miembros heredados 229 3.3.1 Codificación de la ocultación 231 3.3.2 Codificación de la sustitución 233 5/10

4. Ejercicio 234 4.1 Enunciado 234 4.2 Corrección 235 5. Las clases abstractas 237 6. Los métodos de extensión 238 7. El polimorfismo 241 7.1 Entender el polimorfismo 241 7.2 Explotación del polimorfismo 242 7.3 Los operadores is y as 243 Comunicación entre objetos 1. El evento: estar a la escucha 245 2. El pattern Observador 246 3. La solución C#: delegate y event 250 3.1 Utilización del delegate en el design pattern Observador 253 3.2 Utilización de un evento 256 3.3 Cómo acompañar al evento de datos 260 3.4 Recursos genéricos para simplificar todavía más 261 3.5 Las expresiones lambda 262 3.6 Ejemplo de uso de event 268 4. Llamadas síncronas, llamadas asíncronas 277 4.1 Enfoque 1 280 4.2 Enfoque 2 281 4.3 Enfoque 3 281 6/10

4.4 Enfoque 3 con una expresión lambda 284 5. Ejercicio 286 5.1 Enunciado 286 5.2 Consejos para la realización 287 5.3 Corrección 287 El multithreading 1. Introducción 293 2. Entender el multithreading 293 3. Multithreading y.net 297 4. Implementación en C# 298 4.1 Uso de un BackgroundWorker 298 4.1.1 Comunicación del thread principal con el thread secundario 301 4.1.2 Abandono desde el thread principal 302 4.1.3 Comunicación del thread secundario con el thread principal 302 4.1.4 Comunicación al final de la operación del thread secundario 302 4.1.5 Ejemplo de código 303 4.2 Utilización del pool de threads creado por.net 305 4.3 Gestión «manual» con Thread/ParameterizedThreadStart 308 5. Sincronización entre threads 313 5.1 Necesidad de la sincronización 313 5.2 La simulación de la sincronización 316 5.3 La palabra clave lock 317 5.4 La clase Monitor 319 5.5 La clase Mutex 320 5.6 La clase Semaphore 321 7/10

6. Comunicación entre threads 322 6.1 Join 322 6.2 Las sincronización de eventos 324 6.3 Comunicación entre threads secundarios e IHM 331 6.4 Ejercicio 335 6.4.1 Enunciado 335 6.4.2 Corrección 335 7. La programación asíncrona 340 7.1 La palabra clave async 340 7.2 Contenido de un método async 340 7.3 Evidencias 341 7.4 Resultados posibles de un método async 342 P-Invoke 1. Introducción 345 1.1 Recordatorio sobre las DLL no gestionadas 346 1.2 P-Invoke y su Marshal 346 2. El caso sencillo 347 2.1 Declaración y llamada 348 2.2 Ajuste de Visual Studio para la puesta a punto 351 3. Llamada con argumentos y retorno de función 352 4. Tratamiento con las cadenas de caracteres 354 4.1 Codificación de los caracteres 354 4.2 Codificación de las cadenas 355 4.3 Transmisión de las cadenas 356 5. Intercambio de tablas 359 8/10

5.1 De C# a C/C++ 359 5.2 De C# a C/C++ y después vuelta a C# 361 6. Compartición de estructuras 363 6.1 Declaración de las estructuras 363 6.2 Utilización de las estructuras 365 7. Las directivas [In] y [Out] 369 8. Realización de un "wrapper" 373 8.1 Una región "NativeMethods" 374 8.2 Almacenamiento de la información de la DLL nativa 375 8.3 Instanciación de DLL nativa 376 8.4 Métodos de uso de la DLL gestionada desde el wrapper 379 8.5 Uso del wrapper 379 9. Ejercicio 381 9.1 Enunciado 381 9.2 Corrección 382 Las pruebas 1. Introducción 385 2. Entorno de ejecución de las pruebas unitarias 387 3. El proyecto de pruebas unitarias 389 4. La clase de pruebas 390 5. Contenido de un método de prueba 391 9/10

6. Tratamientos de preparación y limpieza 394 7. TestContext y fuente de datos 397 8. Automatización de las pruebas en la compilación 401 9. Automatización de las pruebas fuera de Visual Studio 402 10. CodedUI 404 11. Ejercicio 405 11.1 Enunciado 405 11.2 Corrección 405 índice 407 10/10