Tres elementos esenciales de la programación orientada a objetos

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Tres elementos esenciales de la programación orientada a objetos"

Transcripción

1 Tres elementos esenciales de la programación orientada a objetos Abstracción Herencia Polimorfismo Modelado en objetos importancia del diagrama de clases: es el diagrama esencial para UML es eldepositorio central de la información acerca del sistema refleja el mundo real y la visión que se tiene acerca de él es menos dependiente de detalles que el MDF y que los diagramas dinámicos posee estabilidad con la evolución organiza el mundo real en elementos manejables casos de uso en el modelado en objetos Dr. Dr. Deni Deni Torres Torres Román: Román: 1

2 Tareas para el modelado en objetos recopilación de información: casos de uso definir diagrama de contexto: actores-sistema identificar candidatos a objetos: sustantivos en los casos de uso seleccionar clases:eliminar redundancia, vaguedad, irrelevancia; atributos, operaciones, roles; eventos; lo no perteneciente al mundo real crear diagrama de clases identificar relaciones: agregación, dependencia, herencia, asociación reflexiva determinar atributos y operaciones refinar el modelo para herencia: jerarquía probar el modelo: casos de uso, diccionario del modelo Empaquetamiento sistemas grandes necesitan ser particionados para lograr visibilidad y manejar la complejidad agrupamiento de objetos ayuda a crear diferentes niveles de abstracción un sistema es una colección de paquetes un paquete es un agrupamiento lógico de elementos del modelo ( clases, casos de uso,procesadores,...) con alta cohesión y bajo acoplamiento un paquete puede ser descompuesto en otros un paquete puede ser visto como un subsistema o un módulo Ejemplos: 2

3 Operador de referencia & una referencia es un alias necesita, a diferencia de un puntero, ser siempre inicializada una referencia contiene una dirección pero se comporta como un valor Ejemplo int valor = 50; int &refvalor = valor; //declaración de la referencia int &refvalor2; //ERROR en refvalor +=5; //valor = 55 int otrovalor = refvalor; // otrovalor = 55 int *ptr = &refvalor; // incializa al puntero // con la dirección de valor Llamadas por valor, puntero y referencia void Cambio (int a, int b) { int local = a; a = b; b = local; } //Cambio (x, y); void Cambio (int *pa, int *pb) { int local = *pa; *pa = *pb; *pb = local; } //Cambio (&x, &y); void Cambio (int &a, int &b) { int local = a; a = b; b = local; } //Cambio (x, y); 3

4 Operador de resolución de ámbito :: Ejemplo #include <iostream.h> int a; void main() { float a = 1.5; ::a = 5; cout<< local a << a <<endl; cout<< global a << ::a <<endl; } ::variable permite el acceso a un elemento oculto en el ámbito actual Estructura específica de los datos de una clase class NombreDeLaClase { private: int datoint; char* chptr; protected: object* objectptr; public: struct nombrestructure; }; características de cada tipo de dato 4

5 Estructura específica de las funciones miembros de una clase ret NombreDeLaClase::NombreDelMetodo { cuerpo //código } las funciones miembros o métodos pueden ser también private, protected y public las funciones miembros pueden ser: modificadoras, selectoras e iteradoras métodos selectores ret NombreDelMetodo const; Dr. Dr. Deni Deni Torres Torres Román: Román: La biblioteca iostream iostream vs stdio cout y cin objetos que permiten mediante el operador <<(>>) la salida o entrada de datos objetos flujos de datos Ejemplos cout<< imprime un entero <<15<<endl; cout<< imprime un flotante <<15.25<<endl; cout<< imprime un letrero <<endl; cout<< imprime un hexadecimal <<0xA5<<endl; Diferencias entre cout y printf 5

6 Asignación dinámica de memoria new En C existen las funciones malloc() y free() En C++ new asigna memoria dinámica new tipo; // asigna un solo elemento new tipo [ ]; // asigna un arreglo de elementos Ejemplos int n; char* s; cin>>n; int *p = new int; s = new char [n]; Point *p1= new Point(...); Liberación dinámica de memoria delete En C existe la función free() En C++ delete libera memoria dinámica delete dirección; // libera un espacio // previamente asignado por new delete[n] dirección; // idem para un arreglo de // elementos Ejemplos delete p; delete [ ] s; delete p1; 6

7 Ventajas de new y delete new conoce cuanta memoria se le asigna a cada variable, pero malloc( ) no, new invoca al constructor del objeto, mientras que malloc( ) no puede, delete invoca al destructor y libera memoria. siempre que use un new debe emplear en la parte correspondiente un delete para liberar memoria, p.e. constructor/destructor Funciones inline el compilador genera el código cada vez que encuentra esta función, es más segura que #define #define cuadrado (x) x*x errónea si x= a+b sólo tiene sentido para funciones de código pequeño, aumenta la eficiencia del programa, no deben definirse donde se hace la definición de la clase, porque allí no debe haber código, Sintaxis inline ret NombreDeFunción ( args ) { } 7

8 Declaraciones y definiciones en un archivo.h definiciones de tipo definiciones de funciones declaraciones de datos includes macro-definiciones comentarios declaraciones de clases struct point {...} extern int strlength(...) extern int a; #include <signal.h> #define... /*...*/ // class clase {...}; Herencia y reusabilidad creación de clases a partir de otras para extender y reusar el código los objetos pueden construirse de modo incremental a partir de otros objetos y pueden compartir código y estructuras de datos los algoritmos generales se pueden escribir de modo que se puedan reusar para nuevos tipos de objetos organización jerárquica representación del polimorfismo Dr. Dr. Deni Deni Torres Torres Román: Román: 8

9 Clases base y derivadas clases con similares atributos y operaciones pueden organizarse jerárquicamente la clase situada arriba de otras es base o superclase de las de abajo la clase situada abajo de otras es derivada o subclase ANIMAL Generalización Definición proceso de extracción de todos los atributos y operaciones comunes en un conjunto de clases para crear una clase base o superclase Ejemplo atributos: tipo, modelo, capacidad,... operaciones: arrancar, parar, acelerar,... VEHICULO 9

10 Especialización Definición proceso de refinamiento de clases en subclases o clases derivadas que heredan atributos y operaciones de la clase base o superclase Ejemplo Atributo extra: Número de ruedas Operación extra: flotar Terrestre Acuático Concepto de herencia simple Clase Base Clase Derivada 1 Clase Base Clase Derivada 2 Clase Base 10

11 Especificadores de acceso class B : public class A { }; los miembros public y protected de A pasan de igual forma a B class B : private class A { }; los miembros public y protected de A pasan en forma private a B class B : protected class A { }; los miembros public y protected de A pasan en forma protected a B Elementos en la herencia (I) private protected public A private A protected A public A private B protected B public B B 11

12 Elementos en la herencia (II) B hereda las funciones de A B hereda los datos de A las funciones propias de B no tienen acceso a los miembros private de A Concepto de herencia múltiple Clase A Clase B Clase Derivada AB 12

13 Relaciones multiniveles de herencia entre clases Clase A Clase B Clase C Clase D Clase E Elementos que no se heredan constructores destructores funciones friend funciones static datos static operador de asignación = 13

14 Conversiones de herencia un objeto de una clase derivada se convierte implícitamente en un objeto de una clase base pública, una referencia a una clase derivada se convierte implícitamente en una referencia a una clase base pública, un puntero a una clase derivada se convierte implícitamente en un puntero a una clase base pública. Dr. Dr. Deni Deni Torres Torres Román: Román: Polimorfismo Sobrecarga de funciones Sobrecarga de operadores Funciones virtuales Funciones virtuales puras 14

15 Polimorfismo (I) una operación que puede tener más de un método es denominada polimórfica una operación se dice polimórfica si se comporta de forma diferente sobre clases diferentes la lista de argumentos, el tipo de retorno asociados con una operación constituyen el formato o signatura de la operación las operaciones polimórficas tienen el mismo nombre, la misma intención lógica y la misma signatura las operaciones polimórficas tienen o pueden tener código diferente en clases diferentes Polimorfismo (II) objetos de clases diferentes responden a un mismo mensaje u operación de forma también diferente objetos de las clases circulo, triángulo, rectángulo, derivados de la clase forma, pueden responder a la función área() de forma diferente característica esencial del polimorfismo es que se puedan invocar funciones sin preocuparnos sobre qué tipo de objeto son invocadas construcción de estructuras heterogéneas de objetos debido a que un puntero a una clase base puede apuntar a cual objeto de clases derivadas el polimorfismo se implementa con funciones denominadas virtuales 15

16 Sobrecarga de funciones: polimorfismo Qué es una función sobrecargada? Ejemplos int suma (int a, int b); stringsuma (string a, string b); Las funciones sobrecargadas tienen: el mismo nombre, un número diferente de argumentos, diferentes tipos de argumentos, ambas cosas Las funciones sobrecargadas pueden ser normales o miembros de una clase Ventajas de la sobrecarga de funciones uso del polimorfismo, menor número de nombres de funciones, sintaxis más clara, el compilador hace mucho de nuestro trabajo, enlace dinámico con funciones virtuales, llamadas en tiempo de ejecución. Dr. Dr. Deni Deni Torres Torres Román: Román: 16

17 Sobrecarga de operadores en C++ significados de +: suma de dos enteros suma de dos reales si a y b son dos objetos definidos por el usuario, será o no posible definir las operaciones de: a = a + b; a = a*b;? la sobrecarga permite la validez de las expresiones anteriores. Con el operador + sobrecargado podríamos formar una cadena a partir de otras, p.e. Guadalajara + es la capital + de Jalisco. tipos de operadores: unarios binarios Restricciones en los operadores sobrecargados de C++ se pueden sobrecargar sólo los operadores definidos en C++; no se pueden construir nuevos operadores la sobrecarga tiene validez sólo con objetos de la clase donde el operador está definido no se puede cambiar la preferencia o asociatividad de los operadores en C++ no se puede cambiar un operador binario para que funcione como uno unario y viceversa no se puede sobrecargar un operador que funcione exclusivamente con punteros la sobrecarga de ++ y -- no diferencia, en principio, pre- o postincremento 17

18 Sintaxis general de operator función miembro o método de la clase class untipo { private: atributos public: untipo operator <op> (lista de argumentos);... }; implementación del método o función miembro untipo untipo::operator <op> (lista de argumentos) { cuerpo de la función } al menos un operando debe ser un tipo definido por el usuario, p.e. untipo un operando puede ser un tipo básico Sobrecarga de operadores binarios (I) X1 + x2 se interpreta como operator + ( x1, x2 ); // o como x1.operator + ( x2 ); un operador unario se puede definir como: una función miembro de un argumento una función friend con dos argumentos class Binario { public: Binario operator <op> (Binario& ); }; Binario Binario::operator <op> (Binario& b ) { cuerpo } <op> puede ser +, *, -, /,... 18

19 Sobrecarga de operadores binarios (II) Ejemplo: class unaclase { public: unaclase operator -(unaclase &t); unaclase operator -(int t); // unaclase- unaclase // unaclase- int }; class unaclase { private: int undato; public: friend ostream& operator << ( ostream &, const unaclase & ); }; ostream& operator << ( ostream &out, const unaclase &t ) { out << Salida en pantalla <<endl<< dato privado = << t.undato <<endl; } Sobrecarga de operadores unarios ++ se interpreta como operator ++ ( x ); // o como x.operator ++ ( ); un operador unario se puede definir como: una función miembro sin argumentos una función friend con un argumento Ejemplo class unaclase { public: unaclase& operator ++ ( void ); // ++unaclase }; class unaclase { public: friend unaclase& operator ++ ( unaclase& ); //++ unaclase }; 19

20 Recomendaciones para sobrecargar los operadores es responsabilidad del programador definir correctamente el significado de las funciones sobrecargadas, pues C++ no interpreta automáticamente el significado de un operador sobrecargado C++ no deriva automáticamente el significado de un operador complejo, p.e.+=, no se puede cambiar la sintaxis de los operadores, p.e. + binario, ++ unario sólo se pueden sobrecargar los operadores indicados por C++ no se puede cambiar la precedencia o prioridad de los operadores Ejemplos de sobrecargas de operadores válidas y no válidas complejo operator + (complejo a, complejo b); //VAL void contador::operator++ (contador c) //VAL { } char* operator + (char* a, char* b); //NO VAL void operator@ (menu barra1, menu barra2); //NO VAL menu operator++ (menu barra1, menu barra2); //NO VAL 20

21 Sobrecarga del operador de asignación = el operador de asignación = puede sobrecargarse declarando una función miembro class string { string& operator = (string& str); }; si el operador = no se define por el usuario en una clase, entonces el compilador lo crea por defecto y realiza una asignación miembro a miembro x& x::operator = (const x& fuente) { } cuerpo Sobrecarga de los operadores de llamada a funciones ( ) y de subíndice [ ] y de flujo >> y << el operador ( ) puede emplearse para un tipo de subconjunto de la clase, p.e., un substring de la clase string string string::operator( ) (int pos, int cont) el operador [ ] puede emplearse para extraer elementos específicos de un objeto de la clase, p.e., un caracter de un objeto de la clase string char& string::operator[] (int elem) la sobrecarga de los operadores >> y << permite manipular además de los tipos de datos predefinidos, los tipos definidos por el usuario 21

22 El apuntador this el llamado a funciones se realiza siempre mediante un objeto objeto.funcióndelaclase ( ); // o mediante un puntero punteroobjeto-> funcióndelaclase ( ); cómo se realiza esto? funcióndelaclase ( this, argumentos ); en todo objeto existe un puntero al objeto llamado this this accesa a la dirección del propio objeto this permite accesar a los miembros del propio objeto this ->nombredemiembro; *this es el objeto total real, no modificable Uso del this almacenar un puntero al objeto asociado con la invocación de una función miembro devolver una referencia al objeto asociado con la invocación de una función miembro T& T::f (int a ) { código return *this; } hacer copias de un objeto referenciar explícitamente a un miembro oculto como resultado de otra declaración class X { int longitud; public: X (int longitud){this -> longitud = longitud;} como argumento de una función 22

23 Constructor de copia Descripción un constructor que crea un nuevo objeto a partir de uno existente Sintaxis class Point { int x, y; public: Point (int, int); Point (const Point&);... }; Implementación Point::Point (const Point& p) { x=p.x; y =p.y; } Constructor de copia por defecto si no se incluye un constructor de copia el compilador crea uno automáticamente constructor de copia por defecto realiza las siguientes operaciones void main() { Point p1(1,2), p2(3,4), p3,; Point p4(p2); p4.x = p2.x; //FUNCIONA MUY BIEN p4.y = p2.y; //SIN DEFINIRLO, ENTONCES? si un dato fuera un puntero, p.e., entonces se copia la dirección del puntero de la derecha en el miembro de la izquierda p4.ptr = p2.ptr; LOS DOS APUNTAN AL MISMO LUGAR!!! 23

24 Llamadas a los constructores de copia inicialización de un objeto con otro de la misma clase cuando se tiene una función con un argumento siendo un objeto cuando una función retorna un objeto Regla sobre el uso del constructor de copia las clases con estructuras dinámicas de datos deben tener bien definido un constructor de copia, pues los constructores de copia por defecto sólo generan una copia superficial y no una copia profunda Dr. Dr. Deni Deni Torres Torres Román: Román: Inicialización de objetos en C++ Los datos o miembros de un objeto se inicializan con valores la incialización se realiza en los constructores formas de inicializar incialización mediante sentencias lista de incialización Ejemplo: class ObjetoIni { string s: char* dato; ObjetoIni (const string&, const char* inich); }; ObjetoIni::ObjetoIni (const string& inistr, const char* inich){ s = inistr; dato = inich;} ObjetoIni::ObjetoIni (const string& inistr, const char* inich):s(inistr, dato (inich){ } 24

25 Uso del operador = Ejemplo string a( Hola ); sttring b( Nada ); a =b; // Ahora a contiene la expresión Nada el compilador creó el =, pero es una copia superficial!!! forma correcta de definirlo string& string::operator = (const string& s) { if (this ==&s) return *this; // a==a CASO IDENTIDAD delete [ ]str; //BORRAR VIEJO CONTENIDO long = s.long; if (s.str!=null){ str = new char [long+1]; //COPIA strcpy (str, s.str);} //NUEVA return *this; } Enlace estático y dinámico el enlace estático se realiza siempre que el compilador conoce con antelación el tipo de objeto es rápida es restrictiva Ejemplo: switch (codigo) { case A : exit (); case B : mostrar (); break; } el enlace dinámico se realiza siempre que el compilador desconoce la posición a invocar hasta el tiempo de ejecución alto grado de flexibilidad más lento que el estático uso de funciones virtuales mediante la palabra virtual 25

26 Sobre las funciones virtuales (I) las funciones miembros de una clase pueden ser virtuales las funciones globales no pueden ser virtuales los destructores de las clases que van a ser heredadas deben declararse virtual para que sean llamados por los destructores de las clases derivadas para qué? el uso de funciones virtuales puras posee gran utilidad, por qué? en el interior de un constructor/destructor las funciones virtuales se llaman en tiempo de compilación una clase con una función virtual pura es una clase abstracta Sobre las funciones virtuales (II) la palabra clave virtual permite a una función ser definida en la clase base y en las clases derivadas bajo el mismo nombre una función sólo necesita ser declarada virtual en la clase base las funciones virtuales admiten los mismos argumentos, pero código diferente en clases también diferentes función virtual vacía virtual void FuncionVacia ( ) { } función virtual pura virtual void FuncionPura ( ) = 0; una función virtual pura no puede ser llamada en la clase base una función virtual pura sirve para declarar aquellas funciones cuya definición se pospone para las clases derivadas 26

27 Sobre las funciones virtuales (III) los constructores no pueden ser virtuales los destructores pueden y deben ser virtuales, lo cual permite que en una relación de herencia sean invocados todos los destructores una clase abstracta es aquella que tiene al menos una función virtual pura una clase abstracta sólo puede ser utilizada como clase base una clase abstracta se diseña sólo para ser heredada las clases abstractas son utilizadas sólo a través de punteros Polimorfismo en C++ crear una jerarquía de objetos con operaciones definidas como funciones virtuales en la clase base virtual float Area ( ); si la clase base es tal que no se puede realizar implementaciones de estas funciones, entonces son funciones virtuales puras virtual float Area ( ) = 0; virtual float Area ( ) const = 0; hacer las implementaciones concretas en las clases derivadas; cada clase tiene una versión específica de la función virtual manipular las instancias de las clases a través de una referencia o un puntero para provocar el enlace dinámico 27

28 Problema Diseñar y elaborar un programa que represente un reloj con hrs, min y segs y un operator ++ que incremente el tiempo en segundos. Debe existir una clase base y clases derivadas para diferentes tipos de relojes. Manejarse además funciones virtuales. Casos de uso características es una interacción entre un usuario y el sistema captura alguna función visible al usuario puede ser de distintos tamaños satisface algún objetivo del usuario organiza el sistema mediante actores y sus objetivos utilidad en el análisis, diseño y pruebas 28

29 Casos de uso: partición del sistema subconjuntos de los requerimientos descripciones del comportamiento grupos de entidades comunicantes es fuente de las operaciones del sistema conjuntos de escenarios potenciales Casos donde las funciones virtuales se llaman en tiempo de compilación y no en tiempo de ejecución o corrida cuando una función virtual es llamada mediante objeto.funcionvirtual ( ); //se le asocia la función actual //de la clase base en llamadas dentro de los constructores y destructores, porque los objetos no están completamente inicializados Ejemplo: 29

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.

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. OOP y C++ Un lenguaje para Programadores Carlos PLATERO Indice 0.- OOP 1.-. Objetivos, palabras clave, reglas prácticas, consejos 2.- CLASES Y OBJETOS. Extensión del concepto de estructura en C 3.- HERENCIA.

Más detalles

APUNTES PROII 2º PARCIAL.

APUNTES PROII 2º PARCIAL. APUNTES PROII 2º PARCIAL. MEMORIA DINÁMICA. Hay que distinguir entre: Estática: memoria que se reserva en tiempo de compilación. Dinámica: memoria que se reserva en tiempo de ejecución. 5 pasos: 1. Declaración

Más detalles

Tema: Sobrecarga de Operadores.

Tema: Sobrecarga de Operadores. Programación II. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores. Objetivos Describir como redefinir (sobrecargar) operadores para que funcionen

Más detalles

PROGRAMACION ORIENTADA A OBJETOS EN C++

PROGRAMACION ORIENTADA A OBJETOS EN C++ PROGRAMACION ORIENTADA A OBJETOS EN C++ 1- INTRODUCCIÓN El lenguaje C++ representa el resultado de los esfuerzos realizados para proporcionar las ventajas de la programación Orientada a Objetos a un lenguaje

Más detalles

2.2 Nombres, Ligado y Ámbito

2.2 Nombres, Ligado y Ámbito 2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el

Más detalles

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

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1 Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos

Más detalles

Elementos de un programa en C

Elementos de un programa en C Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución

Más detalles

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia Programación orientada a objetos Resumen de Temas Unidad 5: Herencia 5.1 Introducción a la Herencia La herencia es el mecanismo fundamental de relación entre clases en la orientación a objetos. Relaciona

Más detalles

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

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Las clases están compuestas por un conjunto de miembros. (datos y funciones) también se conocen como (atributos y métodos)

Las clases están compuestas por un conjunto de miembros. (datos y funciones) también se conocen como (atributos y métodos) Clases y Objetos Las clases están compuestas por un conjunto de miembros (datos y funciones) también se conocen como (atributos y métodos) Una clase se usa como el modelo que deben seguir los objetos Un

Más detalles

Programación Orientada a Objetos. Resumen de Temas Unidad 3: Constructores y destructores

Programación Orientada a Objetos. Resumen de Temas Unidad 3: Constructores y destructores Programación Orientada a Objetos Resumen de Temas Unidad 3: Constructores y destructores 3.1 Conceptos de métodos constructor y destructor Java inicializa siempre con valores por defecto las variables

Más detalles

Tema 13: Apuntadores en C

Tema 13: Apuntadores en C Tema 13: Apuntadores en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Introducción

Más detalles

Impresión por pantalla. 3. Indicar la salida por pantalla (2 puntos-20 minutos)

Impresión por pantalla. 3. Indicar la salida por pantalla (2 puntos-20 minutos) 3. Indicar la salida por pantalla (2 puntos-20 minutos) #include class EUITIelemento; class EUITIpila int num; EUITIelemento *pila[10]; EUITIpila():num(0); bool push(euitielemento *in) if(num>=10)return

Más detalles

Derechos de Acceso: COMPOSICION

Derechos de Acceso: COMPOSICION CLASES Una clase es un tipo definido por el usuario que describe los atributos y los métodos de los objetos que se crearan a partir de la misma. class nombre_clase cuerpo de la clase Derechos de Acceso:

Más detalles

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

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A. SISTEMAS INFORMÁTICOS I Junio 2003 INGENIERÍA EN INFORMÁTICA - Código Carrera 55 - Código Asignatura 077 Tipo de Examen: A NO SE PERMITE EL USO DE NINGÚN MATERIAL Tiempo: 2 horas Apellidos: Nombre: DNI:

Más detalles

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

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 Capítulo 1. Introducción general 1.1 Comencemos 1.2 Variables y expresiones aritméticas 1.3 La proposición FOR 1.4 Constantes simbólicas 1.5 Entrada y salida de caracteres 1.6 Arreglos 1.7 Funciones 1.8

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales

Más detalles

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes Introducción Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Qué es la POO?! Un paradigma de programación! Un paradigma es una forma de afrontar

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo rcoppo@uns.edu.ar Qué es un Objeto? Un objeto es una instancia de una clase Las clases actuán como modelos que permiten la creación

Más detalles

Necesidad de la herencia pertenencia variedad is a has a herencia variedad definir una clase modificando una o más clases añadir nuevos miembros

Necesidad de la herencia pertenencia variedad is a has a herencia variedad definir una clase modificando una o más clases añadir nuevos miembros Necesidad de la herencia La mente humana clasifica los conceptos de acuerdo a dos dimensiones: pertenencia y variedad. Se puede decir que el Ford Fiesta es un tipo de coche (variedad o, en inglés, una

Más detalles

Tema 6: Memoria dinámica

Tema 6: Memoria dinámica : Programación 2 Curso 2013-2014 Índice 1 2 3 El tamaño es fijo y se conoce al implementar el programa Declaración de variables int i=0; char c; float vf[3]={1.0, 2.0, 3.0}; i c vf[0] vf[1] vf[2] 0 1.0

Más detalles

Clases en C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Algoritmos y Programación II. Enero de 2005

Clases en C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Algoritmos y Programación II. Enero de 2005 Clases en C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Algoritmos y Programación II Enero de 200 1. Definición de Clases Cada clase contiene: datos (datos miembro o campos),

Más detalles

Lección 2 Introducción al lenguaje C

Lección 2 Introducción al lenguaje C Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)

Más detalles

Definición. Mónica E. García García Feb 07

Definición. Mónica E. García García Feb 07 Tema 11: Herencia 0 Definición Cuando inicialmente se modelan dos cosas y se tienen datos duplicados y además pudiera darse que el número de métodos también es similar así como la implementación, se requiere

Más detalles

Tema: Clases y Objetos en C#. Parte II.

Tema: Clases y Objetos en C#. Parte II. Programación II. Guía No. 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C#. Parte II. Objetivos Implementar clases, objetos, propiedades, métodos y

Más detalles

HERENCIA Y TIPOS. Articulo. Video Audio Altavoces. Amplificador

HERENCIA Y TIPOS. Articulo. Video Audio Altavoces. Amplificador HERENCIA Y TIPOS. Las clases con propiedades y funciones comunes se agrupan en una superclase. Las clases que se derivan de una superclase son las subclases. Las clases se organizan como jerarquía de clases.

Más detalles

Conceptos de Programación Orientada a Objetos

Conceptos de Programación Orientada a Objetos Paradigmas de programación Prog. orientada a objetos Conceptos de Programación Orientada a Objetos Abstracción de Programación estructurada Programación imperativa 2 Programación estructurada (I) Programación

Más detalles

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

Java Avanzado Facultad de Ingeniería. Escuela de computación. 2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 5 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas

Más detalles

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.

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. 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. No hay que confundir una dirección de memoria con el contenido

Más detalles

4. POLIMORFISMO. Figura 6: Funciones virtuales

4. POLIMORFISMO. Figura 6: Funciones virtuales página 1 4. POLIMORFISMO Polimorfismo, por definición, es la capacidad de adoptar formas distintas. En el ámbito de la Programación Orientada a Objetos se entiende por polimorfismo la capacidad de llamar

Más detalles

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

PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas Instituto Tecnológico de Nuevo Laredo 1 Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general

Más detalles

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

INDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación INDICE Prologo XI Capitulo 1. Algoritmos y programas 1.1. Configuraciones de una computadora 1 1.2. Lenguajes de programación 2 1.3. Resolución de problemas 1.3.1. Fase de resolución del problema 3 1.3.1.1.

Más detalles

Aplicaciones de Escritorio

Aplicaciones de Escritorio Aplicaciones de Escritorio Introducción n a la Programación Orientada a Objetos con Java Disertantes: Ing. Rasjido, Jose. AdeS Montenegro, Cristian. Agenda Clases y Paquetes. Clases y Paquetes. Modificadores

Más detalles

FACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4

FACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4 Trabajo Práctico Nº 4 Ejercicios Teóricos 1. Indique si las siguientes afirmaciones son verdaderas o falsas a. La programación orientada a objetos hace uso de clases y envío de mensajes entre objetos..

Más detalles

Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos

Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos Construyendo clases nuevas La forma más simple de una clase en Java es: Class Nombre_de_la_Clase { } /* constructores */ /* métodos

Más detalles

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. TRUJILLO 1.- Resumen de Prog1 Comentarios es C++ Declaraciones de variables.

Más detalles

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

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

Más detalles

1. Sobrecarga de operadores. 2. Métodos operadores unarios Operador de incremento (prefijo)

1. Sobrecarga de operadores. 2. Métodos operadores unarios Operador de incremento (prefijo) . Sobrecarga de operadores. unarios Operador de incremento (prefijo). Devolución de objetos en los métodos. Retorno por referencia Sobrecarga de operadores Los operadores aceptan uno o varios operandos

Más detalles

Apuntadores en C y C++

Apuntadores en C y C++ Apuntadores en C y C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Prof. Marcos A. Gil T. 8 de diciembre de 2004 1. Introducción Los apuntadores en C y C++ son una herramienta

Más detalles

Construcciones del Lenguaje Java

Construcciones del Lenguaje Java Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.

Más detalles

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

Guía práctica de estudio 04: Clases y objetos Guía práctica de estudio 04: Clases y objetos Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 04: Clases y

Más detalles

Diplomado Programación orientada a objetos con C++ y UML. Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar Primer programa en Java 2 Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

Programación Orientada a Objetos (POO)

Programación Orientada a Objetos (POO) Programación Orientada a Objetos (POO) Introducción La programación orientada a objetos es una técnica de programación en la cual expresamos el código en términos relacionados a como vemos las cosas en

Más detalles

TEMA 8: Gestión dinámica de memoria

TEMA 8: Gestión dinámica de memoria TEMA 8: Gestión dinámica de memoria 8.1.-Tipo de datos puntero Hasta ahora, los tipos de datos que hemos visto (a excepción de strings y ficheros) eran estructuras de datos estáticas, es decir, estructuras

Más detalles

Polimorfismo. Métodos virtuales

Polimorfismo. Métodos virtuales Polimorfismo. Métodos virtuales El polimorfismo indica que una variable pasada o esperada puede adoptar múltiples formas. Cuando se habla de polimorfismo en programación orientada a objetos se suelen entender

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Elementos de lenguaje: Identificadores Tipos de datos 2 Tipos de datos primitivos 3 Tipos de datos referenciados Clases Interfaces Arrays

Más detalles

Estructuras de Datos Declaraciones Tipos de Datos

Estructuras de Datos Declaraciones Tipos de Datos Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación

Más detalles

Prueba N o 1. Programación II

Prueba N o 1. Programación II UNIVERSIDAD ANDRÉS BELLO 1 Prueba N o 1 Programación II Profesores: José Luis Allende y Carlos Beyzaga. Fecha: 10 de Septiembre de 2013 Nombre: Nota: Instrucciones: Coloque su nombre a todas las hojas.

Más detalles

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

Descripción y Contenido del Curso. Programación C++ Capacity Academy. Descripción y Contenido del Curso Programación C++ Capacity Academy Educación en Tecnología de la Información Online, Efectiva y Garantizada Qué aprenderá si toma este Curso? En este curso aprenderás todo

Más detalles

Tema: Punteros a Objetos. Puntero this.

Tema: Punteros a Objetos. Puntero this. Programación II. Guía 6 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Punteros a Objetos. Puntero this. Objetivos Manejar objetos por medio de punteros. Utilizar el puntero

Más detalles

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

INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA Objetivo: Identificar los concentos principales en java POO, que es una clase, un objeto así como sus características principales abstracción, modularidad, encapsulamiento, herencia, polimorfismo. INTRODUCCIÓN

Más detalles

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

Objeto Clase Atributo / Método Encapsulamiento Mensaje Herencia Polimorfismo Encadenamiento Dinámico Conceptos Objeto Clase Atributo / Método Encapsulamiento Mensaje Herencia Polimorfismo Encadenamiento Dinámico Objeto Representa una instancia de un elemento del mundo del problema Es cualquier elemento

Más detalles

Tema 6. Gestión dinámica de memoria

Tema 6. Gestión dinámica de memoria Tema 6. Gestión dinámica de memoria http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz@icc.uji.es Estructuras de datos y de la

Más detalles

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad

Más detalles

Programación I Unidad III. Tema: Tipos, estructuras y uniones

Programación I Unidad III. Tema: Tipos, estructuras y uniones Programación I Unidad III Tema: Tipos, estructuras y uniones El especificador typedef La palabra reservada typedef representa un especificador de clase de almacenamiento, y se utiliza para definir nuevos

Más detalles

Apuntadores (Punteros)

Apuntadores (Punteros) Apuntadores (Punteros) x9ff10 X int 209 SESION 7 *ptr Definición Llamados también punteros. Un Apuntador es una variable que contiene una dirección de memoria, la cual corresponderá a un dato o a una variable

Más detalles

Clases en Java. Declaración de clases en Java 02/09/16. Ing. Roberto Martínez Román - public class Alumno { private int matricula;

Clases en Java. Declaración de clases en Java 02/09/16. Ing. Roberto Martínez Román - public class Alumno { private int matricula; Clases en Java ESCRIBIENDO CLASES rmroman@itesm.mx Declaración de clases en Java public class Alumno private int matricula; public void mostrardatos() System.out.println("Matrícula: " + matricula); Firma

Más detalles

4. Operadores Operador asignación

4. Operadores Operador asignación Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre

Más detalles

Escuela Politécnica Superior de Elche

Escuela Politécnica Superior de Elche EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES ((SOLUCIÓN) (TEORÍA)jUJ jhshshs SEPTIEMBRE 2015 1. Indicar si las siguientes afirmaciones son verdaderas o falsas: (a) En C++, una clase derivada puede acceder

Más detalles

Clases en C++ Agustín J. González ELO329

Clases en C++ Agustín J. González ELO329 Clases en C++ Agustín J. González ELO329 1 Clases y Objetos Una clase es un tipo de datos definido por el usuario. Provee un molde o diseño" para múltiples objetos del mismo tipo o categoría. Un objeto

Más detalles

Introducción rápida a la programación (estructurada ) con C++

Introducción rápida a la programación (estructurada ) con C++ Introducción rápida a la programación (estructurada ) con C++ A B No A? Si B A Los Bloques pueden ser una línea de código o un modulo (función o subrutina) que pueden estar contenido en otro archivo de

Más detalles

Memoria Dinámica. Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez

Memoria Dinámica. Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez 1. PUNTEROS 2. MEMORIA DINÁMICA 2 1. PUNTEROS 3 Qué es un puntero? Un tipo de variable cuyo valor es la dirección de memoria de otra variable.

Más detalles

1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos

1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos 1.1 Tipos de Datos Primitivos 1.2 Tipos de datos estructurados 1.2.1 Arreglos unidimensionales, bidimensionales y cadenas de caracteres 1.2.2 Registros o Estructuras (unión y estructura) 1.3 Definición

Más detalles

Definición y Conversión de datos. Agustín J. González ELO-329

Definición y Conversión de datos. Agustín J. González ELO-329 Definición y Conversión de datos Agustín J. González ELO-329 1 Calificador Const El calificador const previene que un objeto sea modificado con posterioridad a su definición. El objeto calificado como

Más detalles

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

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS PROGRAMA DEL CURSO INTRODUCCION A LA PROGRAMACION Y COMPUTADORAS 1 CODIGO: 770 CREDITOS: 4 ESCUELA: Ciencias

Más detalles

Introducción al lenguaje C

Introducción al lenguaje C Programación 2 Profesorado de Informática CeRP del Suroeste, Uruguay 29 de marzo de 2016 Estructuras de control IV Iteración Sentencia for: for (inicio; condicion; paso) cuerpo for (int i = 0; i < 10;

Más detalles

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Sintaxis de Java Sintaxis Define las reglas que determinar el uso de palabras clave, operadores y variables para construir y evaluar expresiones.

Más detalles

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

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles

Programación Orientada a Objetos en C#.NET CAPÍTULO 8 DELEGADOS. Ing. Bruno López Takeyas, M.C.

Programación Orientada a Objetos en C#.NET CAPÍTULO 8 DELEGADOS. Ing. Bruno López Takeyas, M.C. CAPÍTULO 8 DELEGADOS 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Qué es un delegado? Para qué sirve? En qué circunstancias se recomienda implementar delegados? Qué es un método anónimo?

Más detalles

REPRESENTACIÓN DE DATOS

REPRESENTACIÓN DE DATOS REPRESENTACIÓN DE DATOS Tipos de datos primitivos Tipos de Datos Estructurados TIPOS DE DATOS SIMPLES O PRIMITIVOS Dato Longitud Rango 2 TIPOS DE DATOS SIMPLES O PRIMITIVOS Surgen de la necesidad de tener

Más detalles

C# para no Programadores

C# para no Programadores C# para no Programadores Programa de Estudio C# para no Programadores Aprende a programar con una de las tecnologías más utilizadas en el mercado de IT. Este curso está orientado a quienes no tienen experiencia

Más detalles

Introducción a la Orientación a Objetos

Introducción a la Orientación a Objetos Introducción a la Orientación a Objetos Breve historia de la OO 1960s. Simula incorpora características propias de la OO. 1970s. Smalltalk. Lenguaje totalmente OO. 1990s. Boom de la OO. 2000-Hoy. Época

Más detalles

Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México

Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México Unidad Académica Profesional Tianguistenco Ingeniería de Software Estructura de Datos

Más detalles

PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos

PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos Contenido Introducción...1 Objeto...2 Atributo...2 Métodos...2 Clase...3

Más detalles

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC. Programación n Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño o Vargas MsC. Variables y expresiones aritméticas Variables Conceptos de Memoria Una variable es un espacio en la memoria

Más detalles

Curso de Programación en C. Licenciatura, FCQeI. APUNTADORES.

Curso de Programación en C. Licenciatura, FCQeI. APUNTADORES. APUNTADORES. La memoria de una máquina esta ordenada en forma de celdas numeradas consecutivamente y que se pueden manipular individualmente o en grupos contiguos. La siguiente figura muestra una representación

Más detalles

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

AREA A LA QUE PERTENECE: 103 Matemática Básica 2 34 créditos POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015 UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS NOMBRE DEL CURSO: Introducción a la Programación Y Computación 1 CODIGO: 770 CREDITOS: 4 ESCUELA: Ciencias y Sistemas AREA

Más detalles

Algoritmos y Programación I

Algoritmos y Programación I Algoritmos y Programación I ARREGLOS Y ESTRUCTURAS EN C Arreglos Un arreglo o vector es un conjunto de datos del mismo tipo, almacenados de forma contigua (es decir uno al lado del otro) en memoria principal.

Más detalles

Lenguaje de Modelamiento Unificado.

Lenguaje de Modelamiento Unificado. Lenguaje de Modelamiento Unificado. Pontificia Universidad Javeriana What can you Model with UML? 1. Structure Diagrams include: The Class Diagram Object Diagram Component Diagram Composite Structure Diagram

Más detalles

Elementos Diagramas de Clases Clase:

Elementos Diagramas de Clases Clase: Diagramas de Clases Un diagrama de clases o estructura estática muestra el conjunto de clases y objeto importantes que forman parte de un sistema, junto con las relaciones existentes entre clases y objetos.

Más detalles

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

POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015 HORAS POR SEMANA DEL LABORATORIO: DIAS QUE SE IMPARTE EL LABORATORIO: UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS NOMBRE DEL CURSO: Introducción a la Programación Y Computación 1 CODIGO: 770 CREDITOS: 4 ESCUELA: Ciencias y Sistemas AREA

Más detalles

Modulo 11. Clases y Objetos en Java

Modulo 11. Clases y Objetos en Java El siguiente texto es una traducción no oficial del documento publicado por el grupo JEDI, Introduction to Programming 1, no pretende en ningún momento reemplazar los contenidos generados por este grupo.

Más detalles

Universidad Salesiana de Bolivia

Universidad Salesiana de Bolivia Universidad Salesiana de Bolivia Ingeniería de Sistemas I DATOS DE IDENTIFICACIÓN PLAN DE DISCIPLINA GESTIÓN II - 2015 INSTITUCIÓN UNIVERSITARIA: Universidad Salesiana de Bolivia RECTOR: Dr. Rvdo. P. Thelian

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF ESCUELA POLITÉCNICA SUPERIOR GRADO EN DISEÑO IND. INFORMÁTICA CURSO 2012-13 PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF HASTA AHORA... En prácticas anteriores se ha aprendido: La estructura principal de un

Más detalles

Funciones como Subprogramas en C++

Funciones como Subprogramas en C++ FUNCIONES Cuando es necesario escribir programas complicados para resolver problemas complejos, una práctica común entre los programadores es descomponer el algoritmo (el diagrama de flujo) en varias partes.

Más detalles

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

INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11 Índice INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11 1.1 PROGRAMA Y LENGUAJESDE PROGRAMACIÓN...12 1.1.1 EL LENGUAJE JAVA...13 1.1.2 EL JDK...15 1.1.3 LOS PROGRAMAS EN JAVA...16

Más detalles

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS Una vez que ya sabes crear tus propios programas, vamos a analizar los fundamentos del lenguaje de programación C. Este capítulo incluye además los siguientes temas:

Más detalles

Resultado de Aprendizaje:

Resultado de Aprendizaje: 10. Matriz de Valoración o Rúbrica MATRIZ DE VALORACIÓN O RÚBRICA Siglema: PROO-02 Nombre del Módulo: Nombre del Alumno: Docente evaluador: Grupo: Fecha: Resultado de Aprendizaje: 1.1 Diseña modelos bajo

Más detalles

CONTENIDO. Programación orientada a objetos - POO. Clases. Constructores y destructores. Definiciones. Entrada y salida

CONTENIDO. Programación orientada a objetos - POO. Clases. Constructores y destructores. Definiciones. Entrada y salida INFORMÁTICA II 1 CONTENIDO 2 1 Programación orientada a objetos - POO 2 Clases 3 Constructores y destructores 4 Definiciones 5 Entrada y salida PROGRAMACIÓN ORIENTADA A OBJETOS Los lenguajes de programación

Más detalles

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas Unidad II Fundamentos de programación en Java Ing. José Luis Llamas Cárdenas En java para poder escribir se emplea el objeto System.out, t pero para leer del teclado es necesario emplear System.in Et Este

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA Angel García Beltrán y José María Arranz Santamaría Sección de Publicaciones Escuela Técnica Superior de Ingenieros Industriales Universidad Politécnica de Madrid

Más detalles

PRÁCTICA No 4 POO Encapsulación. El alumno conocerá los principios de la encapsulación, y el uso de constructores para la inicialización de datos

PRÁCTICA No 4 POO Encapsulación. El alumno conocerá los principios de la encapsulación, y el uso de constructores para la inicialización de datos Objetivos El alumno conocerá los principios de la encapsulación, y el uso de constructores para la inicialización de datos Introducción En esta práctica se abarcará el concepto de la encapsulación, así

Más detalles

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto

Más detalles

Las plantillas permiten definir funciones genéricas.

Las plantillas permiten definir funciones genéricas. Introducción (Genericidad). Plantillas de funciones o funciones genéricas. Sintaxis de plantillas. Ejemplos de declaraciones. A tener en cuenta Un ejemplo de plantilla de funciones: Máximo de un vector.

Más detalles

Introducción a la Orientación a Objetos

Introducción a la Orientación a Objetos Introducción a la Orientación a Objetos Fernando Bellas Permuy Departamento de Tecnologías de la Información y las Comunicaciones (TIC) Universidad de A Coruña http://www.tic.udc.es/~fbellas fbellas@udc.es

Más detalles

funciones printf scanf

funciones printf scanf FUNCIONES EN C FUNCIONES Los módulos en C se llaman funciones. Hemos estado utilizando funciones de la biblioteca estandar stdio.h como por ejemplo printf y scanf. Comenzaremos viendo algunas funciones

Más detalles