Programación Orientada a Objetos

Slides:



Advertisements
Presentaciones similares
Introducción a C++ Sistemas Operativos
Advertisements

Métodos y parámetros.
Ordenamiento de Arreglos
PROF. CARLOS RODRIGUEZ SANCHEZ COMP 242 Introducci Ó n a los Arreglos (arrays) en C++
Searching data in Arrays COMP 242. Linear Search Algoritmo: Comenzando con el primer elemento, se compara cada uno con el valor a buscar y se detiene.
Abstracción de Datos Arrays.
Ejemplo de Programa C++
Listas enlazadas c++ Prof. Franklin Cedeño.
Arquitectura CLARO-TECNOTREE
Elementos básicos del Lenguaje
Tipos de Datos Básicos y Estructurados
FUNCIONES EN C.
Programación (Estructura de Datos)
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
Introducción al lenguaje C++
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
Encapsulamiento y Abstracción
SOBRECARGA DE FUNCIONES
Acciones y funciones Concepto
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
FUNCIONES EN C.
Estructura de Datos En C++
UNIVERSIDAD TECNOLÓGICA DE HERMOSILLO T.S.U. EN T.I.C., Área: Sistemas Informáticos Ing. José Padilla Duarte y estudiantes de Sistemas Informáticos Hermosillo,
Abstracción de los datos y Orientación a Objeto Clase 13.
Tema 6: Clases Antonio J. Sierra.
Tema 10: Interfaces Antonio J. Sierra.
 2003 Prentice Hall, Inc. All rights reserved. 1 Capítulo 6: Clases y Abstracción de Datos Índice del capítulo 6.1 Introducción 6.2 Estructuras 6.3 Clases.
Introducción a la Computación
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Concepto de tupla Las tuplas son estructuras de datos que constan de varios campos que pueden contener datos de tipos distintos. El acceso al contenido.
FUNCIONES EN C.
Capítulo 5. Punteros y Cadenas de Caracteres
Programación III Clase 06 Funciones.
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
Clase 10: Estructuras de datos y arreglos.
ELO3201 Vectores (Vector) Agustín J. González ELO320.
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
Computación II Unidad IV Funciones y Módulos. Objetivos: –Comprender como construir programas en forma modular partiendo de pequeñas partes conocidas.
Computación II Unidad IX Flujos y archivos. Presentación de la unidad Objetivos: –Comprender como utilizar el flujo de entrada y salida en C++ –Comprender.
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
Sobrecarga de operadores
FIEE VARIABLES Ing. José Antonio Poma G.. FIEE Variables Una variable es un identificador (nombre de la variable) que hace referencia a.
Herramientas de polimorfismo y herencia en C++
Luis Pereda Calvo1 Comportamiento de Objetos Estrategia (Strategy) *Política (Policy)
Elementos básicos del lenguaje
Unidad II Introducción a la programación en C++
Laboratorio Análisis y Diseño de Algoritmos 2 Biblioteca estándar de templates de C++ Standard Template Library (STL)‏ Motivación Ejemplo: Lista + Iterador.
Punteros.
Elementos básicos del lenguaje
Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales
1 Algunas ideas básicas de C++ Agustín J. González ELO-329.
Registros Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.
INTRODUCCION A LA PROGRAMACION
LENGUAJE “C” Programación.
6. Clases y Métodos..  6.1 Structs  6.2 Funciones  6.3 Namespaces  6.4 Clases.
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
Algoritmo.
Arreglos: Vectores Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.
Arreglos Ejemplo paso a paso. Planteamiento Como estudiante de ingeniería, quieres usar tus habilidades de programador para llevar un registro de tus.
Paso de Parámetros a una Función Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de.
Funciones Copyright © 2005 Unidad 1. Copyright © 2005 Objetivos del Aprendizaje Explicar la naturaleza y usos de las funciones. Describir algunas funciones.
MEMORIA DINÁMICA.
Lenguaje de Programación II PLAN DE EVALUACIÓN CONTENIDO MODALIDAD DE EVAL. PONDERACIÓN INTRODUCCIÓN BÁSICA AL LENGUAJE DE PROGRAMACIÓN.
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
GENERICIDAD Es una propiedad que permite definir una clase o función sin especificar el tipo de datos de uno o mas de sus parámetros (Módulos Parametrizados).
2015-BM5A. Introducción Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos.
PROF. RAFAEL MONTENEGRO B. UNELLEZ-APURE Introducci Ó n a los Arreglos (“arrays”) en C++
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
IntroducciÓn a los Arreglos (“arrays”) en C++
Transcripción de la presentación:

Programación Orientada a Objetos Plantillas Programación Orientada a Objetos

Introducción Las plantillas son el mecanismo de C++ para implantar el paradigma de la programación genérica. Permiten que una clase o función trabaje con tipos de datos abstractos, especificándose más adelante cuales son los que se quieren usar. Por ejemplo, es posible construir un vector genérico que pueda contener cualquier tipo de estructura de datos. De esta forma se pueden declarar objetos de la clase de este vector que contengan enteros, flotantes, polígonos, figuras, fichas de personal, etc.

Cuando usar plantillas El uso de plantillas es apropiado para definir contenedores, es decir estructuras que sirven para almacenar una colección de objetos (una lista, un vector, un grafo…) Las plantillas también son apropiadas para definir algoritmos genéricos que se aplican a una familia de clase. Por ejemplo, es interesante codificar un algoritmo del camino mas corto, independientemente de la estructura del grafo. El uso de un functor puede ser apropiado para acceder a los pesos instalados sobre los arcos del grafo en este caso. La clase de grafo pasada como parámetro debe cumplir un cierto número de pre-requisitos para que el algoritmo pueda ser aplicado. Si no, el programa no compilará

Plantillas de funciones Una plantilla de función es una especial que puede ser operada con tipos genéricos. Esto permite crear una plantilla de función cuya funcionalidad puede ser adaptada para más de un tipo o clase sin repetir el código entero para cada tipo o clase. Esto puede lograrse usando parámetros de plantilla que es un tipo de parámetro para pasar un tipo como parámetro. La forma generar para declarar plantillas de funciones es: template <class identifier> function_declaration; template <typename identifier> function_declaration;

Ejemplo La siguiente función regresa el mayos de dos valores: template <class myType> myType GetMax (myType a, myType b) { return (a>b?a:b); } Se crea una función con mytype como su parámetro deplantilla. Podemos llamar a GetMax para comparar dos valores enteros de la siguiente manera: int x,y; GetMax <int> (x,y);

// function template #include <iostream> using namespace std; template <class T> T GetMax (T a, T b) { T result; result = (a>b)? a : b; return (result); } int main () { int i=5, j=6, k; long l=10, m=5, n; k=GetMax<int>(i,j); n=GetMax<long>(l,m); cout << k << endl; cout << n << endl; system("pause"); return 0;

Más de un parámetro Se puede tener más de un tipo como parámetro en una plantilla. template <class T, class U> T GetMin (T a, U b) { return (a<b?a:b); } Podría usarse en el siguiente código: int i,j; long l; i = GetMin<int,long> (j,l);

Ejemplo de una tabla genérica Archivos: TablaT, TablaT2, punto.dev

Plantilla por defecto También es posible precisar un parámetro de plantilla por defecto del mismo modo que con un parámetro de función. Por ejemplo: template<typename T = int> class my_vector_t{ //... }; int main(){ my_vector<> v; // un vector de int return 0; }

Espacios de nombres Una adición a las características de C son los espacios de nombre (namespace en inglés), los cuales pueden describirse como áreas virtuales bajo las cuales ciertos nombres de variable o tipos tienen validez. Esto permite evitar las ocurrencias de conflictos entre nombres de funciones, variables o clases. El ejemplo más conocido en C++ es el espacio de nombres std::, el cual almacena todas las definiciones nuevas en C++ que difieren de C (algunas estructuras y funciones), así como las funcionalidades propias de C++ (streams) y los componentes de la biblioteca STL.