Contenido. Prefacio Orígenes de la programación orientada a objetos... 1

Documentos relacionados
PROGRAMACIÓN EN JAVA

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

Guía del Curso IFCD052PO PROGRAMACIÓN EN JAVA

INDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación

INDICE 1. Introducción a Turbo C++ 2. Utilización de C++

Planificaciones Algoritmos y Programación I. Docente responsable: CARDOZO MARTIN MIGUEL. 1 de 7

Planificaciones Algoritmos y Programación I. Docente responsable: CARDOZO MARTIN MIGUEL. 1 de 8

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

Prefacio 25 Organización de la Unidad Didáctica Cómo utilizar el libro Objetivos docentes... 27

ANEXO XVII DE LA RESOLUCION N

Índice general 7. Presentación 15

INDICE Parte I Algoritmos y herramientas de programación Capitulo 1. Computadoras y lenguajes de programación Actividades de Programación Resueltas


UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

Síntesis de la programación

programaciónenjava modalidadteleformación 210horas completamentegratuito

INDICE. Prólogo de la Segunda Edición

Índice PRÓLOGO... XVII CAPÍTULO 1. FUNDAMENTOS DE JAVA Características de Java Origen y evolución... 1

UNIVERSIDAD DE GUADALAJARA

Programación Orientada a Objetos

Contenido 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS PROCESOS Prólogo...

1 Introducción a los algoritmos y a la programación de computadoras... 1

Programación I. Carrera: IFM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Programa Oficial de Asignatura. Ficha Técnica. Presentación. Competencias y/o resultados del aprendizaje. Contenidos Didácticos

DEPARTAMENTO: Ingeniería e Investigaciones Tecnológicas

JAVA 7 Los fundamentos del lenguaje Java

UNIVERSIDAD AUTONOMA DE QUERETARO Facultad de Informática

GRADO EN INGENIERÍA INFORMÁTICA CURSO 2008/2009. Asignatura: Metodología y Técnicas de Programación II Código: IIN108

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

INDICE Prologo 1 Recorrido rápido de java 2 Clases y objetos 3 Extensión de clases

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA DIRECCIÓN GENERAL DE ASUNTOS ACADÉMICOS PROGRAMA DE ASIGNATURA

Objetivos y Temario CURSO JAVA 7

OOP y C++ Indice. 0.1 Análisis orientado a objetos(1/4) Análisis orientado a objetos(2/4) 0.- OOP 1.- INTRODUCCIÓN.

Programación con Visual C#

Grado en Ingeniería Telemática Universidad de Alcalá 2013/2014 3º Curso 5º Cuatrimestre

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5

Academia de computación de IE, ICA e ISISA. Unidad didáctica Programación Orientada a Objetos

Unidad 2: Introducción a Programación Orientada a Objetos y UML

Especialista en Abstracción y Estructura de datos en C++

PROGRAMA ANALÍTICO DE ASIGNATURA

GUÍA DOCENTE ABREVIADA DE LA ASIGNATURA

Introducción a la Programación. Concepto de algoritmo. Algoritmos computacionales: pseudocódigo y diagramas de flujo. Programa.

Fundamentos de programación JAVA

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

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

Programación con Java Básico

El lenguaje C++ A partir del lenguaje C Entorno de programación Visual C++

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA

DISEÑO CURRICULAR ALGORÍTMOS, ESTRUCTURAS Y PROGRAMACIÓN II

Curso Programación Java JSE 8 desde Cero Descripción Programación Java JSE 8 desde cero Curso Programación Java JSE 8

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

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

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

Lenguaje de programación con JAVA

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

Programa Regular. Programación y Bases de Datos es una materia obligatoria correspondiente al segundo año de la carrera de Bioingeniería.

SYLLABUS CÓDIGO:

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO DIRECCIÓN GENERAL DE LA ESCUELA NACIONAL COLEGIO DE CIENCIAS Y HUMANIDADES SECRETARÍA ACADÉMICA

Diplomado C#.NET con Visual Studio

Índice INTRODUCCIÓN...13

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA ELECTRÓNICA SÍLABO PLAN DE ESTUDIOS 2000

PROGRAMACIÓN ORIENTADA POR OBJETOS EN JAVA

Contenido. 1. Introducción a la programación La secuenciación La selección...55

Curso Programación Java JSE 7

Introducción a OOP. Programación Orientada a Objeto

Biblioteca de recursos. Descargado desde

Cuerpo de Profesores Técnicos de Formación Profesional

Programación. Orienta a Objetos con C++

Al final, qué sabré hacer?... Itinerario del proceso de aprendizaje... Capítulo 1. Conceptos generales a modo de introducción (CG)

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

I.T.S.C.S. Instituto tecnológico superior compu sur SYLLABUS DE PROGRAMACIÓN ESTRUCTURADA REF: PROGRAMACIÓN ESTRUCTURADA

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

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERÍA PLAN DE CLASE POR SESIÓN SEMANA 1

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

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

Oracle Certified Associate, Java SE 8 Programmer

APUNTES PROII 2º PARCIAL.

Fundamentos de programación C++

Metodología de. la programación orientada a objetos. Segunda Edición. Leobardo López Román

Desarrollo de aplicaciones con Visual C#

PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I

Temario de estudio para Cibernética y Computación II (1604)

PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

PROGRAMACIÓN UNIDADES

Programa Oficial de Asignatura. Ficha Técnica. Presentación. Competencias y/o resultados del aprendizaje. Fundamentos de Programación

Universidad Tecnológica Nacional - Facultad Regional Córdoba - Departamento de Sistemas

Universidad Salesiana de Bolivia

Desarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans

Taller de Lenguajes I

UNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERIA ELECTRONICA E INFORMATICA ESCUELA DE PREGRADO DE INGENIERÍA MECATRONICA

Universidad Tecnológica Nacional Facultad Regional San Francisco. Tecnicatura Superior en Programación PROGRAMACIÓN II

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

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

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA ELECTRÓNICA

Tema 04: Lenguajes de programación y el lenguaje C

Programación orientada a objetos I

AREA A LA QUE PERTENECE: POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: 1er. Semestre 2015 AUXILIAR:

Fundamentos de Programación Visual Basic

Introducción a la programación 2005 Francisco Charte Ojeda

Transcripción:

Prefacio... xv 1. Orígenes de la programación orientada a objetos... 1 1.1 La crisis del software... 1 1.2 Evolución del software... 3 1.3 Introducción a la programación orientada a procedimientos... 4 1.4 Paradigma de programación orientada a objetos... 6 1.5 Conceptos básicos de la programación orientada a objetos... 7 1.6 Ventajas de la POO... 12 1.7 Lenguajes orientados a objetos... 13 1.8 Aplicaciones de la POO... 14 RESUMEN... 15 Preguntas de repaso... 17 2. Introducción a C++... 19 2.1 Qué es C++?... 19 2.2 Aplicaciones de C++... 20 2.3 Ejemplo de programa C++... 20 2.4 Más instrucciones C++... 25 2.5 Un ejemplo con clases... 28 2.6 Estructura de un programa C++... 29 2.7 Creación de un archivo fuente... 30 2.8 Compilación y enlazado... 31 RESUMEN... 32 Ejercicios de revisión... 33 Ejercicios de depuración... 33 Ejercicios de programación... 34 vii

viii Contenido 3. Tokens, expresionesy estructuras de control... 35 3.1 Introducción... 35 3.2 Tokens... 36 3.3 Palabras reservadas... 36 3.4 Identificadores y constantes... 36 3.5 Tipos de datos básicos... 38 3.6 Tipos de datos definidos por el usuario... 40 3.7 Tipos de datos derivados... 42 3.8 Constantes simbólicas... 43 3.9 Compatibilidad de tipos... 44 3.10 Declaración de variables... 45 3.11 Inicialización dinámica de variables... 46 3.12 Variables referencia... 46 3.13 Operadores en C++... 49 3.14 Operador de resolución de ámbito... 49 3.15 Operadores de desreferenciación de miembros... 52 3.16 Operadores de gestión de memoria... 52 3.17 Manipuladores... 55 3.18 Operador de conversión de tipo... 56 3.19 Expresiones y sus tipos... 57 3.20 Expresiones especiales de asignación... 59 3.21 Conversiones implícitas... 60 3.22 Sobrecarga de operadores... 61 3.23 Precedencia de operadores... 62 3.24 Estructuras de control... 63 RESUMEN... 68 Preguntas de repaso... 70 Ejercicios de depuración... 71 Ejercicios de programación... 73 4. Funciones en C++... 77 4.1 Introducción... 77 4.2 La función principal... 78 4.3 Prototipado de funciones... 79 4.4 Llamada por referencia... 81 4.5 Retorno por referencia... 82 4.6 Funciones inline... 82 4.7 Argumentos predeterminados... 84 4.8 Argumentos constantes (const)... 87 4.9 Sobrecarga de funciones... 87 4.10 Funciones amigas (friend) y virtuales (virtual)... 90 4.11 Funciones de la librería matemática... 90 RESUMEN... 91 Ejercicios de revisión... 92 Ejercicios de depuración... 93 Ejercicios de programación... 94

ix 5. Clases y objetos... 97 5.1 Introducción... 97 5.2 Revisión de las estructuras C... 98 5.3 Especificación de una clase... 100 5.4 Definición de funciones miembro... 104 5.5 Un programa C++ con clases... 106 5.6 Conversión de una función externa en función en línea... 107 5.7 Anidamiento de funciones miembro... 108 5.8 Funciones miembro privadas... 109 5.9 Arrays dentro de una clase... 110 5.10 Reserva de memoria para objetos... 115 5.11 Miembros de datos estáticos... 115 5.12 Funciones miembro estáticas... 118 3.3 Arrays de objetos... 120 5.14 Objetos como argumentos de funciones... 123 5.15 Funciones amigas (friend)... 125 5.16 Devolución de objetos... 131 5.17 Funciones miembro const... 132 5.18 Punteros a miembros... 133 5.19 Clases locales... 135 RESUMEN... 136 Preguntas de repaso... 137 Ejercicios de depuración... 138 Ejercicios de programación... 141 6. Constructores y destructores... 143 6.1 Introducción... 143 6.2 Constructores... 144 6.3 Constructores parametrizados... 145 6.4 Múltiples constructores en una clase... 148 6.5 Constructores con argumentos predeterminados... 151 6.6 Inicialización dinámica de objetos... 152 6.7 Constructor copia... 155 6.8 Constructores dinámicos... 157 6.9 Construcción de arrays de dos dimensiones... 159 6.10 Objetos constantes... 161 6.11 Destructores... 161 RESUMEN... 164 Ejercicios de revisión... 165 Ejercicios de depuración... 165 Ejercicios de programación... 168 7. Sobrecarga de operadores y conversiones de tipo... 171 7.1 Introducción... 171 7.2 Definición de la sobrecarga de operadores... 172

x Contenido 7.3 Sobrecarga de operadores unarios... 173 7.4 Sobrecarga de operadores binarios... 176 7.5 Sobrecarga de operadores binarios usando funciones amigas (friend) 179 7.6 Manipulación de cadenas utilizando operadores... 183 7.7 Reglas para la sobrecarga de operadores... 186 7.8 Conversiones de tipo... 187 RESUMEN... 195 Ejercicios de Revisión... 196 Ejercicios de Depuración... 197 Ejercicios de Programación... 199 8. Herencia: Extensión de clases... 201 8.1 Introducción... 201 8.2 Definición de clases derivadas... 202 8.3 Herencia simple... 204 8.4 Cómo heredar un miembro privado... 210 8.5 Herencia multinivel... 212 8.6 Herencia múltiple... 218 8.7 Herencia jerárquica... 223 8.8 Herencia híbrida... 224 8.9 Clases base virtuales... 228 8.10 Clases abstractas... 232 8.11 Constructores en clases derivadas... 232 8.12 Clases miembro: Anidación de clases... 239 RESUMEN... 240 Preguntas de repaso... 242 Ejercicios de depuración... 243 Ejercicios de programación... 247 9. Punteros, funciones virtuales y polimorfismo... 251 9.1 Introducción... 251 9.2 Punteros... 253 9.3 Punteros a objetos... 264 9.4 Puntero this... 269 9.5 Punteros a clases derivadas... 271 9.6 Funciones virtuales... 274 9.7 Funciones virtuales puras... 280 RESUMEN... 280 Preguntas de repaso... 282 Ejercicios de depuración... 282 Ejercicios de programación... 286 10. Operaciones de entrada/salida en consola... 289 10.1 Introducción... 289 10.2 Flujos (streams) en C++... 290

xi 10.3 Clases de flujos en C++... 291 10.4 Operaciones de E/S sin formato... 291 10.5 Operaciones con formato de E/S en la consola.... 300 10.6 Gestión de la salida con manipuladores.... 312 RESUMEN... 317 Preguntas de repaso... 318 Ejercicios de depuración... 319 Ejercicios de programación... 320 11. Utilización de archivos... 323 11.1 Introducción... 323 11.2 Clases para operaciones con flujos de archivos... 325 11.3 Apertura y cierre de un archivo... 325 11.4 Detección del fin-de-archivo... 334 11.5 Información adicional sobre open(): modos de archivo... 334 11.6 Punteros de archivo y su manipulación... 336 11.7 Operaciones secuenciales de entrada y salida... 338 11.8 Actualización de un archivo: Acceso directo... 344 11.9 Manejo de errores durante las operaciones con archivos... 348 11.10 Argumentos de línea de órdenes... 350 RESUMEN... 353 Preguntas de repaso... 355 Ejercicios de depuración... 356 Ejercicios de programación... 358 12. Plantillas... 359 12.1 Introducción... 359 12.2 Plantillas de clases.... 360 12.3 Plantillas de clases con varios parámetros.... 365 12.4 Plantillas de funciones.... 366 12.5 Plantillas de funciones con varios parámetros.... 371 12.6 Sobrecarga de funciones de plantillas... 372 12.7 Plantillas de funciones miembro.... 374 12.8 Argumentos genéricos para crear plantillas.... 375 RESUMEN... 376 Preguntas de repaso... 376 Ejercicios de depuración... 377 Ejercicios de programación... 379 13. Manejo de excepciones... 381 13.1 Introducción... 381 13.2 Conceptos básicos del manejo de excepciones... 382 13.3 Mecanismo de manejo de excepciones... 382 13.4 Mecanismo de lanzamiento... 387 13.5 Mecanismo de captura... 387

xii Contenido 13.6 Relanzamiento de una excepción... 392 13.7 Especificación de excepciones... 393 RESUMEN... 395 Preguntas de repaso... 396 Ejercicios de depuración... 397 Ejercicios de programación... 400 14. Introducción a la biblioteca de plantillas estándar... 403 14.1 Introducción... 403 14.2 Componentes de la STL... 404 14.3 Contenedores... 405 14.4 Algoritmos... 408 14.5 Iteradores... 411 14.6 Aplicación de las clases contenedor... 412 14.7 Objetos función... 423 RESUMEN... 425 Preguntas de repaso... 426 Ejercicios de depuración... 427 Ejercicios de programación... 429 15. Manipulación de cadenas... 431 15.1 Introducción... 431 15.2 Creación de objetos de tipo string... 433 15.3 Manipulación de objetos de tipo cadena... 435 15.4 Operaciones relacionales... 436 15.5 Características de string... 438 15.6 Acceso a los caracteres de las cadenas... 439 15.7 Comparación e intercambio... 441 RESUMEN... 443 Ejercicios de revisión... 444 Ejercicios de depuración... 445 Ejercicios de programación... 447 16. Nuevas características del ANSI C++ estándar... 449 16.1 Introducción... 449 16.2 Nuevos tipos de datos... 450 16.3 Nuevos operadores... 452 16.4 Implementación de clases... 454 16.5 Ámbito de espacios de nombres... 456 16.6 Operadores con palabras reservadas... 463 16.7 Nuevas palabras reservadas... 463 16.8 Nuevas cabeceras... 464 RESUMEN... 465 Preguntas de repaso... 466 Ejercicios de depuración... 467 Ejercicios de programación... 470

xiii 17. Desarrollo de sistemas orientado a objetos... 471 17.1 Introducción... 471 17.2 Paradigmas orientados a procedimientos... 472 17.3 Herramientas de desarrollo orientadas a procedimientos... 474 17.4 Paradigma orientado a objetos... 476 17.5 Notaciones y grafos orientados a objetos... 479 17.6 Pasos del análisis orientado a objetos... 479 17.7 Pasos del diseño orientado a objetos... 487 Organización de las jerarquías de clases... 488 17.8 Implementación... 493 17.9 Paradigma de prototipado... 494 17.10 Conclusiones... 494 RESUMEN... 496 Preguntas de repaso... 498 Apéndice A. Proyectos... 501 Apéndice B. Uso de Turbo C++... 521 Apéndice C. Ejecución de C++bajo Windows... 533 Apéndice D. Glosario de palabras clave de ANSI C++... 545 Apéndice E. Precedencia de operadores en C++... 551 Apéndice F. Puntos a recordar... 555 Apéndice G. Glosario de términos importantes de C++ y POO... 569 Apéndice H. Prueba de aptitud en C++... 581 Bibliografía... 615 Índice... 617