Introducción al Lenguaje "C++"

Documentos relacionados
HERENCIA Y TIPOS. Articulo. Video Audio Altavoces. Amplificador

PROGRAMACION ORIENTADA A OBJETOS EN C++

PROGRAMA DE CURSO. Metodologías de Diseño y Programación. Nombre en Inglés. Design and Programming Methodologies.

Algoritmos y programas. Algoritmos y Estructuras de Datos I

2.2 Nombres, Ligado y Ámbito

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

Tema 2 Introducción a la Programación en C.

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

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

Informática I para Bachillerato

Lenguaje de Programación

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

1

Gestion y Modelación de Datos Introducción

LÓGICA DE PROGRAMACIÓN

Evolución de la Programación Orientada a Objetos

ALGORITMOS, ESTRUCTURAS Y PROGRAMACION

Ingeniería de Requerimientos. requiere de un Sistema de Software.

Resultado de Aprendizaje:

20483 Programación en C#

Programación con Visual C#

F1131 Fundamentos de sistemas operativos 1/12

Programación Orientada a Objetos

Unidad V Análisis Semántico. M.C. Juan Carlos Olivares Rojas

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

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

Tema II: Metodología para la construcción de programas. Profesora: Nelly García Mora

PATRONES DE DISEÑO DE CREACIÓN. Abstract Factory Builder Factory Method Prototype

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

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

1. Computadores y programación

2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.

PROGRAMA INSTRUCCIONAL

PROGRAMACIÓN UNIDADES

Cristian Blanco

UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS

Polimorfismo. Métodos virtuales

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

Capítulo 16. Diagrama de Clases UML

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

Programación Orientada a Objetos (POO)

INICIACIÓN A LA PROGRAMACIÓN 1ª parte

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

Introducción a la Orientación a Objetos

Métodos que devuelven valor Dado el siguiente triángulo rectángulo:

PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I

SERVICIO NACIONAL DE APRENDIZAJE SENA SISTEMA INTEGRADO DE GESTIÓN Procedimiento Ejecución de la Formación Profesional Integral GUÍA DE APRENDIZAJE

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

TEMA 8: Gestión dinámica de memoria

Tema 13: Apuntadores en C

FUNDAMENTOS DE INFORMÁTICA

Objeto Clase Atributo / Método Encapsulamiento Mensaje Herencia Polimorfismo Encadenamiento Dinámico

Las redes semánticas intentan trasladar esa afirmación a un formalismo Una red semántica será un grafo donde:

Programación orientada a objetos TEMA 1 INTRODUCCIÓN AL PARADIGMA ORIENTADO A OBJETOS POO

Tema 4 Genericidad en Java. Programación Orientada a Objetos Curso 2013/2014

Computación Avanzada Clase 3. Mauricio Hidalgo Barrientos

Instituto Schneider Electric de Formación

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

Modulo 11. Clases y Objetos en Java

El lenguaje Visual Basic 2008

Técnicas de Programación

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.

Sistemas Operativos. Curso 2016 Sistema de Archivos

Programación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia

Las optimizaciones pueden realizarse de diferentes formas. Las optimizaciones se realizan en base al alcance ofrecido por el compilador.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

3. DOCUMENTACIÓN 3.1. DOCUMENTACIÓN DE APLICACIONES. OBJETIVOS PARA MODIFICAR HACE FALTA COMPRENDER/ESTUDIAR:

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

La Herencia: Teoría (1)

Conceptos de Algoritmos, Datos y Programas

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5

Lenguajes de Programación

Los constructores son funciones miembro especiales que sirven para inicializar un objeto de una determinada clase al mismo tiempo que se declara.

Curso de Doctorado: Tecnologías de Objetos

Capítulo 6. Relaciones. Continuar

Tema II: Metodología para la construcción de programas

ASIGNATURA: ESTRUCTURA DE DATOS II

Derechos de Acceso: COMPOSICION

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

Introducción al Lenguaje de Programación C

CARRERA DE CIECNIAS DE LA COMPUTACIÓN PROGRAMA DE ESTUDIO. Teóricos: 2 Práctico: 1 Total 3

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

Diseño Web Avanzado con HTML5 y CSS3

Requerimientos de Software

Técnicas de modelado. Problemas adicionales

I.S.F.T. Nº 38 Programación I página 1

Qué es un programa informático?

Unidad II: Análisis semántico

Aplicaciones de Escritorio

Fundamentos Programación Orientada a Objetos ( POO ) - Parte I Desarrollo de Software

Administración Informática. Unidad I. Tipos de sistemas y su clasificación A) Sistemas de información.

Diseño Estructurado de Algoritmos

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

UML (Lenguaje de Modelado Unificado) y Diagramas de Casos de Uso

Introducción a la programación

Universidad Centroccidental Lisandro Alvarado. Decanato de Ciencias y Tecnología Departamento de Sistemas

Transcripción:

UNIDAD 2 Introducción al Lenguaje "C++" 1.- La programación Orientada a Objetos. La Programación Orientada a Objetos no es un concepto nuevo, data de hace unas dos decadas. El origen de la Programación Orientada a Objetos viene del Lenguaje de Programación Simula 67 y del Smalltalk desarrollado por Xerox, Palo Alto, en el Research Center en los inicios de 1970. Entonces. Porqué el interés actual por esta metodología?. El interés creció en parte porque se cuenta con un nuevo lenguaje "C++", que de entrada, le dá al programador recursos para escribir Programas eficientes Orientados a Objetos de propósito general. Vemos que la Programación Orientada a Objetos difiere en mucho de nuestro estilo familiar de programación, por lo que se requiere un nuevo enfoque hacia el problema a resolver. Cuando se desarrolla Programación Orientada a Objetos, el programadpor se pregunta Qué hacer con un Objeto, en vez de enfocarse a los aspectos procedurales convencionales de Cómo obtener algo. La programación Orientada a Objetos, simplemente se enfoca a la manipulación de Objetos. con este concepto se puede representar casi cualquier cosa; un número, una cadena, una estructura de pacientes en un hospital, o la construcción gráfica de un rectángulo, o cualquier otra figura geométrica. En esencia, un objeto contiene los datos o estructuras de datos necesarias para describir un objeto junto con un conjunto de operaciones a realizarse sobre los datos. Vamos a ver que un objeto no es más que una instancia particular de un tipo de dato abstracto que diseñamos acorde a un conjunto de reglas particulares. Como ya se ha comentado, gran parte del valor de la Programación Orientada a Objetos es consecuencia del concepto de Herencia, es por ello que un programador puede iniciar con la construcción de una liberría de algunos tipos de Objetos, o clases, ampliandola para una nueva aplicación, agregando tipos de datos y operaciones para crear nuevas clases. En otras palabras, en vez de escribir una nueva aplicación desarrollando completamente el código, un cliente hereda datos y operaciones de alguna clase base, agregando nueva funcionalidad, cuando agrega nuevos datos o funciones, el programador no necesita modificar la clase base, consiguiendo con ello código reusable. Otra característica muy importante en la Programación Orientada a Objetos es el concepto de Enlace Dinámico o Enlace Tardio (late binding), él que nos ayuda a crear programas más generales permitiendo que cada clase de un determinado grupo de clases relacionadas tenga una implementación diferente en una función en particular, En un programa el cliente puede aplicar la función a un abjeto sin necesidad de conocer la clase especifica del objeto. En tiempo de ejecución, el sistema determina la clase especifica del objeto e invoca la implementación particular de la función. Jove - 28 -

2.- El Lenguaje "C++". El Lenguaje de programación C++, fué diseñado e implementado por Bjarne Stroustrup de la AT&T Bell Laboratories como el sucesor de "C". Mientras toma algunas ideas de Simula 67 y Algol 68, el lenguje de programación C++ mantiene la compatibilidad con programas en "C", así como su eficiencia. En la Figura # 1 se muestra su árbol genealógico. Figura # 1, La Herencia del C++ Al C++ se le agregan nuevas y potentes características, haciendolo útil para un gran número de aplicacionnes, desde manejo de dispositivos hasta inteligencia artificial, C++ es un lenguaje enfocado al desarrollo en serio de software; por su intima relación con "C", su potencial para el desarrollo de interfaces gráficas de usuario, para programación de sistemas, y por soportar el desarrollo de software a gran escala. Jove - 29 -

Los libros donde se encuentra la definición del C++, son: El Lenguaje de Programación C++ Bjarne Stroustrup Addison Wesley Edición Especial, 2000 The Annotated C++ Reference Manual Ellis & Bjarne Stroustrup Addison Wesley 1990 Los cuales nos brinda una detallada explicación del Lenguaje, contienen muchos ejemplos y ejercicios, incluye un manual de referencia. y una definición más formal del Lenguaje. 3.- Diferencias de C++ con respecto a "C". El Lenguaje "C" es de código compacto y eficiente, sin embargo su verificación de errores en tiempo de compilación es muy pobre, tanto para tipos como para argumentos de funciones, C++ solventa este problema y ofrece nuevas carcterísticas. C++ cuenta con un mecanismo estricto de verificación de tipos, usa la declaración de prototipo de función para verificar los argumentos de las funciones, adicional a ésto nos permite declarar variables por referencia, entonces, cuando una función tiene una referencia como un argumento formal el compilador de C++ sabe que deberá pasar la dirección del argumento actual cuando la función es llamada. 4.- El C++ y la programación orientada a objetos. Al hablar de C++, pueden surgir algunas preguntas; * Por qué C++ es importante como tema de discución al hablar de la Programación Orientada a Objetos?. * Por qué no planear el desarrollo de la Programación Orientada a Objetos en Lenguajes como "C", Pascal, u otro lenguaje familiar?. Stroustrup en su artículo "What is Objet Oriented Programming", dice: "Un Lenguaje soporta un estilo de programación, si nos brinda facilidades que hacen su utilización conveniente (facil, segura y eficiente) para usarlo en dicho estilo. Por otro lado, un lenguaje requiere que el programador cuente con cierta habilidad para escribir programas en un dado estilo, sin mucho esfuerzo, el lenguaje solo soporta el estilo. Por ejemplo es facil y eficiente escribir programas estructurados en Pascal, se puede también escribir programas estructurados en BASIC, pero es dificil. Jove - 30 -

C++ no solamente corrige la mayoria de las deficiencias de "C", también introduce nuevas cualidades, desarrolladas para un soporte adecuado de abstracción de datos y Programación Orientada a Objetos. Mostramos en seguida algunas: clases variable miembro funciones miembro sobrecarga de operadores sobrecarga de funciones Es el constructor básico del Lenguaje, el cual nos permite crear tipos de datos, llamados tipos de datos abstractos. Nos describen los datos como tipos abstractos. Nos definen las operaciones permitidas sobre los datos miembro. Nos permite dar un significado adicional a la mayoria de los operadores, de tal manera de poderlos usar con nuestros propios tipos de datos, de tal forma que sean faciles de manejar. Similar a la sobrecarga de operadores, nos evitan excesivos nombres de funciones, haciendo el código facil de leer. Control automático Nos permite mezclar nuestros propios tipos de conviersión de con otros y con los proporcionados por el tipos lenguaje C++. clases dirivadas Heredan variables miembro y funciones miembro de su clase base, se diferencian de su clase base porque contienen otras variables miembro y otras funciones mienbro. funciones virtuales Le permiten a una clase derivada redefinir funciones miembro heredadas de una clase base. Entonces podemos escribir programas muy generales, sin mencionar una clase especifica del objeto manipulado, usando el enlazado dinámico, el sistema en tiempo de ejecución (run time) va a escoger la función apropiada de una clase particular. 5.- Por qué usar C++. Algunas buenas razones son las siguientes: 1) C++ es compatible con "C". Jove - 31 -

2) Usa los tipos de datos fundamentales; int, float, etc. de la forma convencional. 3) Maneja el paradigma Orientado a Objetos de manera natural, el programador puede continuar escribiendo programas estructurados en "C" y aprovechar los beneficios de C++. 4) Los programas escritos en C++ usando el paradigma de programación orientada a objetos, resultan faciles de escribir, rastrear y una vez implementados, faciles de leer y mantener. Jove - 32 -