Lenguaje de Programación Orientado a Objetos

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

Download "Lenguaje de Programación Orientado a Objetos"

Transcripción

1 Lenguaje de Programación Orientado a Objetos 3.1 Tipos de datos primitivos 3.2 Declaración de clases y subclases 3.3 Declaración de herencia e interfaces 3.4 Relaciones entre clases 3.5 Clases y métodos genéricos

2 3.1 Tipos de datos primitivos

3 Aspectos básico de C++

4 OPERADORES DE ASIGNACIÓN

5 En el caso de los post-incrementos y post-decrementos pasa lo contrario: se utilizará el valor actual del operando y luego se efectuará la operación de incremento o decremento

6 también existen operadores para los punteros, sin embargo estos solo aplican para aquellos apuntadores a matrices, arreglos o listas de elementos, y aunque se muestran a continuación, se explicaran de una mejor forma en el material de apuntadores o punteros en c++

7 OPERADORES RELACIONALES Los operadores relacionales, también denominados operadores binarios lógicos y de comparación, se utilizan para comprobar la veracidad o falsedad de determinadas propuestas de relación (en realidad se trata respuestas a preguntas). Las expresiones que los contienen se denominan expresiones relacionales. Aceptan diversos tipos de argumentos, y el resultado, que es la respuesta a la pregunta, es siempre del tipo cierto/falso, es decir, producen un resultado booleano. Si la propuesta es cierta, el resultado es true (un valor distinto de cero), si es falsa será false (cero). C++ dispone de los siguientes operadores relacionales:

8

9 OPERADORES LÓGICOS Los operadores lógicos producen un resultado booleano, y sus operandos son también valores lógicos o asimilables a ellos (los valores numéricos son asimilados a cierto o falso según su valor sea cero o distinto de cero). Por el contrario, las operaciones entre bits producen valores arbitrarios. Los operadores lógicos son tres, dos de ellos son binarios y el último (negación) es unario:

10 Si el resultado del operando izquierdo es cierto, se continúa con la evaluación de la expresión de la derecha, que también es convertida a bool. Si el nuevo resultado es true, entonces el resultado del operador es true. En caso contrario el resultado es false.

11 OPERADORES DE BITS Los operadores de movimiento son operadores a nivel de bits, y lo que hacen es convertir una determinada cantidad a su equivalente en bits para posteriormente realizar un desplazamiento de dicho valor. Estos operadores son:

12 OPERADORES DE DIRECCIÓN Además de los operadores aritméticos, de los que existen versiones para los tipos numéricos y para los punteros, C++ dispone de dos operadores específicos para estos últimos (punteros de cualquier tipo): la indirección * y la referencia &. Además existen dos operadores específicos para punteros-aclases

13 la clase cmath

14 Palabras clave

15

16

17

18

19

20

21

22

23 Sentencias de selección La sentencia if if (expresión booleana) { <sentencias> } else { <sentencias> }

24 Ejercicio de clases Implemente un programa en C++ que rellene un arreglo unidimensional de 20 elementos y que escriba el contenido de los índice impares y posteriormente los contenido del los índices pares

25 Entrada y salida estandar #include <iostream> incluye definiciones y declaraciones para las clases que definen E/S en C++ (iostream, istream y ostream) #include <stdio.h> contiene las definiciones y declaraciones para la función estándar de E/S de C

26 Salida estándar #include <iostream> /* comentario1 */ // comentario2 using namespace std; Void main() { count << hola mundo "\n ; }

27 Salida con formato

28 Entrada estándar #include <iostream> /* comentario1 */ // comentario2 using namespace std; Void main() { int cantidad cin>>cantidad; }

29 Operador de resolución del ámbito (::) Permite acceder a una variable global cuya visibilidad ha sido ocultada por una variable global, también es usada para indicar a que clase pertenece una determinada función miembro

30 Ejemplo estructuras repetitivas

31 Do-while

32 for

33 SOBRECARGA DE FUNCIONES

34 Otro ejemplo

35 Primer practica c++

36 3.2 Declaración de clases y subclases

37 Definición de clases en C++

38 Ejemplo

39 Complex -int real -int img +Complex() +Read( ) +Write() +suma()

40

41

42

43

44 Agenda versión Windows y dev c++

45 Ejemplo 2

46

47 Ejercicio de clase Implemente un programa de vectores, dicho vector tendrá 4 componentes, use paradigma orientado a objetos y como lenguaje c++, y sus métodos serán los siguientes: Lectura del vector Escritura de un vector Norma de un vector Multiplicación del vector por un escalar

48

49 Destructores

50 Constructores Es normal que una parte de un objeto necesite una inicialización antes de poder usarse. Un constructor no es más que una función miembro de la clase que aglutinará un conjunto de instrucciones que permiten inicializar memoria asociada a los objetos de la clase. Normalmente se utilizan para iniciar el objeto cuando éste se crea. Sus características son: Tiene en mismo nombre que la clase. Puede definirse inline o fuera de la declaración de la clase. Pueden aceptar parámetros, los cuales puede definirse con valores por defecto. ƒ Puede estar sobrecargado. Se puede declarar más de un constructor para una misma clase si todos ellos tienen diferente lista de argumentos. Esto es útil si se quiere iniciar los objetos de varias formas diferentes. No devuelven valores. No se puede especificar un valor de retorno cuando se declara un constructor, ni siquiera void. En consecuencia, un constructor no puede tener ninguna sentencia return. El constructor se ejecuta automáticamente cuando se crea un objeto de tipo clase. No se invoca nunca de forma explícita. ƒel constructor se suele declarar en la sección pública. Si se hiciera en la sección privada sólo podría ser utilizado por los objetos que se creasen en las funciones miembro y en las funciones amigas

51 Se denomina constructor por defecto de la clase al constructor que no tiene argumentos. No es obligatorio definir constructores cuando se define una clase, pero es una buena técnica de programación hacerlo. Si no se define ninguno, el compilador de forma automática genera un constructor que no tiene ningún parámetro, un constructor por defecto, que no hace nada, no inicia los datos miembro.

52 Destructores Los destructores son funciones miembro especiales que sirven para eliminar un objeto de una determinada clase. El destructor realizará procesos necesarios cuando un objeto termine su ámbito temporal, por ejemplo liberando la memoria dinámica utilizada por dicho objeto o liberando recursos usados, como ficheros, dispositivos, etc. Al igual que los constructores, los destructores también tienen algunas características especiales: También tienen el mismo nombre que la clase a la que pertenecen, pero tienen el símbolo delante. No tienen tipo de retorno, y por lo tanto no retornan ningún valor. No tienen parámetros. No pueden ser heredados. Deben ser públicos, no tendría ningún sentido declarar un destructor como privado, ya que siempre se usan desde el exterior de la clase, ni tampoco como protegido, ya que no puede ser heredado. No pueden ser sobrecargados, lo cual es lógico, puesto que no tienen valor de retorno ni parámetros, no hay posibilidad de sobrecarga.

53 Constructores sobrecargados

54

55

56 3.3 Declaración de herencia e interfaces Interface

57 Concepto de herencia Jerarquía de clases La jerarquía de clases conectadas mediante relaciones de herencia forma estructuras de apariencia arborescente. Una clase puede heredar datos y funciones miembros de una o más clases base, aquí sólo consideraremos la herencia simple (heredar de una única clase base) y no la múltiple.

58 Tipos de Herencia. La relación de herencia entre clases puede ser: pública (public), privada (private) ó protegida (protected). La relación que se utiliza con mayor frecuencia es la pública. Dependiendo del número de clases y de cómo se relacionen, la herencia puede ser: a) Simple. b) Múltiple. Herencia Simple. Cuando sólo se tiene una clase base de la cual hereda la clase derivada, se dice que hay herencia simple(figura a). Sin embargo, la herencia simple no excluye la posibilidad de que de una misma clase base se pueda derivar más de una subclase o clase derivada (figura b)

59 Persona -nombre -dirección -ciudad +leer() +visualizar() Person a -nombre -dirección -ciudad +leer() +visualizar() Empleado -id -horas_extra -tel +leer_empleado() +visualizar_emplea do() +enviar _sal(); Paciente -id -tel -fecha_nac; +leer_paciente() +visualizar_paciente() +enviar_fact() Empleado -id -horas_extra -tel +leer_empleado() +visualizar_emplea do() +enviar _sal(); Proveedor -cod_vendedor -saldo -fax -tel -descuento +leer_provedor() +visualizar_provedor() +pagar_fact() Figura a) Figura b)

60 Ejemplo

61

62 Examen 1) 2) Construir una clase Factura que descienda de la clase Precio y que incluya dos atributos específicos llamados emisor y cliente y, al menos, un método llamado imprimirfactura.

63 3) Escribe un programa para una biblioteca que contenga libros y revistas.

64

65 4) Ejemplo de una jerarquía de herencia de distintos tipos de cuenta Cuenta Cuenta ahorros Cuenta corriente Cuenta ahorradores Estudiante

66 Herencia Múltiple. En el tipo de herencia múltiple se usan dos o más clases base para derivar una clase. Es decir, la clase derivada comparte los atributos y los métodos de más de una clase (Figura c). Nota: Java no permite herencia múltiple que ocurre cuando una clase se deriva de dos o más clases en C++ esto si es valido

67 Ejercicio de clases(herencia simple) Figura +String nombre +String color -Figura () -write() es un Círculo +int r; Triángulo +Int l1,l2,l3,b,h Cuadrado + lado -Circulo() -Area() -Perimetro() -Triangulo() -Area() -Perímetro() -Cuadrado() -Area() -Perimetro()

68 Persona -nombre -dirección -ciudad +leer() +visualizar() Paciente -id -tel -fecha_nac; +leer_paciente() +visualizar_paciente() +enviar_fact() Empleado -id -horas_extra -tel +leer_empleado() +visualizar_empleado() +enviar _sal(); Proveedor -cod_vendedor -saldo -fax -tel -descuento +leer_provedor() +visualizar_provedor() +pagar_fact() Paciente_empleado Java.... C++ Figura c) Java

69 Concepto de modularidad

70

71 Programa Persona_empleado

72

73

74 Ejemplo 1

75

76

77 Ejercicio 1

78 Ejercicio 2

79

80 3.4 Relaciones entre clases

81 3.5 Clases y métodos genéricos

82 Métodos inline Como cualquier otra función en C++, las funciones miembro pueden ser inline. Hay dos formas para hacer que una función miembro sea inline.

83 La declaración de una función en línea es una solicitud al compilador. Si el compilador considera que la función es demasiado complicada, bien por su tamaño o por contar con una estructura compleja, la tratará como si fuera una función ordinaria. Estas funciones alcanzan su mayor funcionalidad y sentido cuando se trata de funciones muy cortas. Sólo se puede utilizar una función en línea en el archivo en que está definida. La razón es que el compilador necesita la definición completa de la función para poder insertar el cuerpo de la misma siempre que se llame. Por este motivo si se utiliza un fichero cabecera para declarar una clase, y dicha clase contiene funciones miembro inline, éstas deben definirse en el mismo archivo cabecera.

84 Ejemplo de función inline

85 Funciones miembro que retornan una referencia. En ocasiones se pueden ver clases en C++ que declaran funciones miembro que retornan referencias a miembros dato privados, por lo que los están convirtiendo en públicos. Esto se considera una mala técnica de programación porque viola el encapsulamiento

86

87 Objetos y funciones miembro constantes De la misma manera que se utiliza la palabra reservada const cuando se declara una variable, se puede usar para la declaración de un objeto. Tal declaración significa que el objeto es una constante y ninguno de los datos miembro podrá ser modificado. Por ejemplo: const Fecha nacimiento(9, 7, 1971); La declaración anterior significa que los atributos del objeto nacimiento de la clase Fecha no pueden ser modificados.

88

89 Atributos estáticos Miembros estáticos Cada vez que se define un objeto a partir de una clase concreta los elementos de datos se duplican. Es decir, los atributos de diferentes instancias de objetos de la misma clase son independientes y ocupan posiciones diferentes de memoria. Si se desea que todos los objetos instanciados de una clase compartan una sola copia de un atributo, se puede definir el atributo como static. Esto se puede utilizar como una forma de comunicación entre los objetos. Se puede declarar private, y sólo podrán acceder a él las funciones miembro, o public con lo que será accesible al resto del programa. Un ejemplo de un miembro estático privado puede ser: class Cuenta { char nombre[50]; float total; static float incremento; public: Cuenta (); void Interes() { total += incremento*total;} };

90 En el ejemplo anterior sólo existe una copia de incremento, y es accesible por todas las instancias de la clase Cuenta. Cada vez que se llame al método Interes por cualquier objeto de la clase Cuenta, se empleará el mismo valor de incremento, compartido por todas las instancias. La siguiente figura ilustra este ejemplo suponiendo que se han definido tres objetos. Se observa como incremento es un miembro común a los tres objetos. Por ejemplo, si incremento fuera un miembro público, se podría acceder a él de la siguiente manera: // Si incremento fuera público void main () { Cuenta::incremento= ; }

91

92 Métodos estáticos Si se tienen funciones miembro que sólo acceden a datos miembro estáticos de una clase, se pueden declarar éstas como static también. Como ejemplo se va a modificar la clase cuenta que se introdujo en el apartado anterior. class Cuenta { char nombre[50]; float total; static float incremento; public: Cuenta (); void Interes() { total += incremento*total;} static void ActualizaIncremento( float valor) {incremento=valor;} }; Las funciones miembro estáticas se llaman con la misma sintaxis que se usa para acceder a los datos miembro estáticos, es decir es utilizando directamente el nombre de la clase: void main (void) { Cuenta micuenta; Cuenta::ActualizaIncremento (0.016); micuenta.actualizaincremento (0.016); }

93 Una función miembro, estática o no, puede manejar variables globales. En el siguiente ejemplo se muestra el manejo desde una función miembro estática.

94 Matrices de objetos Se pueden declarar matrices de objetos de la misma manera que se declaran de cualquier otro tipo de datos.

95 Ejemplo: Hormiga colonia[10] = { Hormiga(4,1), Hormiga(6,1) }; Sólo se han iniciado explícitamente los elementos 0 y 1 de colonia. Para el resto se habrá utilizado el constructor por defecto para la clase Hormiga Si la clase tiene un constructor con un solo parámetro, se puede especificar el argumento como valor inicial de un elemento. Se pueden mezclar diferentes estilos de iniciación.

96 Object Array (1)

97 Object Array(2)

98 Introducción a las plantillas Los tipos genéricos o parametrizados, también llamados plantillas, permiten construir una familia de clases relacionadas, diferenciándose entre sí en el tipo de los datos que manipulan; esto es, son un mecanismo de C++ que. permite que un tipo pueda ser utilizado como parámetro en la definición de una clase En lugar de desarrollar, por ejemplo, una clase PilaEnt para enteros y otra PilaLong para enteros largos, podemos desarrollar una clase genérica o plantilla, Pila, que sirva para esos y otros casos, en el fichero Stack.h:

99 La palabra clave template C++ utiliza una palabra clave específica template para declarar y definir funciones y clases genéricas. En estos casos actúa como un especificador de tipo y va unido al par de ángulos < > que delimitan los argumentos de la plantilla: template void fun(t& ref); // función genérica template class C {/*...*/}; // clase genérica

100 Funciones genéricas Int min(int a, int b) { return(a<b)?a:b } Double x=26.4, y 26.1 Cout <<min(x,y)<<endl; Solución: #define min(a,b)(((a)<(b))?(a):(b))

101

102

103 Para ilustrarlo veremos la clase mvector. Los objetos mvector son matrices cuyos elementos son objetos de la clase Vector; que a su vez representan vectores de un espacio de dos dimensiones.

104 Definición de una clase genérica La definición de una clase genérica tiene el siguiente aspecto: template class nombreclase {... }; Una clase genérica puede tener una declaración adelantada (forward) para ser declarada después:

105 Observe que aparte del cambio de la declaración, se han sustituido las ocurrencias de Vector (un tipo concreto) por el parámetro T. Observe también la definición de mostrar() que se realiza off-line con la sintaxis de una función genérica. Recordemos que en estas expresiones, el especificador class puede ser sustituido por typename, de forma que la primera línea puede ser sustituida por:

106

107

108

109

110 Ejercicio o practica

111 Los compiladores necesitan que la plantilla completa -declaración de la clase y definiciones de los métodos- se encuentre en un único fichero.h -sin.cpp-. La definición de la clase va precedida de la especificación de plantilla: template<class Tipo> class Stack {... } La implementación de una función miembro fuera de la clase debe ir precedida de la especificación de plantilla y el nombre de la función debe ir cualificado con el nombre genérico de la clase -el nombre seguido del tipo genérico entre ángulos-: template<class Tipo> void Stack<Tipo>::push(Tipo dato) {... } Una vez creada la clase genérica, podemos crear un ejemplar concreto indicando entre ángulos el tipo particular que se desea que utilice la clase: Stack<int> pila1; Stack<long int> pila2; Stack<Persona> pila3;

112

113 Las plantillas también pueden tener definidos parámetros que no sean tipos, sino valores. Por ejemplo, para crear una clase Lista genérica puede ser necesario indicar el tamaño deseado. También en la definición de dicha lista genérica se pueden indicar valores por defecto. Así, nuestro fichero Lista.h sería:

114 Métodos genéricos Hemos señalado que, por su propia naturaleza, los métodos de clases genéricas son a su vez (implícitamente) funciones genéricas con los mismos parámetros que la clase, pero pueden ser además funciones genéricas explícitas (que dependan de parámetros distintos de la plantilla a que pertenecen):

115 Según es usual, la definición del miembro genérico puede efectuarse de dos formas, inline u off-line:

116 Trabajo de clase Crear e implementar un programa que cree un arreglo de 3 objetos (complejos) y realice las operaciones suma y resta

117 super super 1. Invoca a un método de la superclase 2. Invoca a un constructor de la superclase Solo puede aparecer como primera sentencia de otro constructor

118 El Objeto this Permite acceder al objeto actual cuyo comportamiento se está definiendo. Es un apuntador a una clase usado dentro de cualquier método de dicha clase

119 Caso 1 de this

120 Caso 2 de this

121 Bibliografía _libroC%2B%2B2013.pdf

Clases y Objetos en C++

Clases y Objetos en C++ Informática II Clases y Objetos en C++ Introducción Las variables de los tipos fundamentales de datos no son suficientes para modelar adecuadamente objetos del mundo real. alto, ancho y longitud para representar

Más detalles

Programación Orientada a Objetos en C++

Programación Orientada a Objetos en C++ Unidad I Programación Orientada a Objetos en C++ Programación Orientada a Objetos en C++ Programación I - 0416202 Contenido Esta lección abarca los siguientes temas: Estructura y declaración de una clase

Más detalles

Programación orientada a objetos I

Programación orientada a objetos I Introducción Programación orientada a objetos I Curso INEM. Programación en C++ 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

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

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +. APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje

Más detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2 Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2 Contenidos: 1. Definición de clases 2. Implementación de los métodos 3. Constructores y destructores 4. Objetos

Más detalles

Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++

Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++ Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++ OBJETIVO En este documento se presentan las construcciones básicas de orientación a objetos del lenguaje de programación C++, y recomendaciones

Más detalles

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

Academia de computación de IE, ICA e ISISA. Unidad didáctica Programación Orientada a Objetos Academia de computación de IE, ICA e ISISA Unidad didáctica Programación Orientada a Objetos Elaboración y diseño de cien reactivos de opción múltiple para la unidad didáctica programación orientada a

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

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

Introducción a C++ Índice

Introducción a C++ Índice Introducción a C++ 1. 2. 3. 4. 5. 6. Índice 1. Diferencias entre C y C++. 2. Diferencias entre C++ y Java. 3. Ejemplos. 4. Funciones. 5. Memoria dinámica 6. Librería de funciones. 1 1. Diferencias entre

Más detalles

Introducción a Java. Introducción a Java. Programación I

Introducción a Java. Introducción a Java. Programación I Introducción a Java Introducción a Java Programación I Como Funciona Tipos de Datos TIPO TAMAÑO RANGO byte 8 bits Valores numéricos de 128 a 127 short 16 bits Valores numéricos de 32.768 a 32.767 int 32

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS

PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN ORIENTADA A OBJETOS GRADO EN INGENIERÍA INFORMÁTICA SEGUNDO CURSO DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO ESCUELA POLITÉCNICA SUPERIOR UNIVERSIDAD DE CÓRDOBA CURSO ACADÉMICO: 2011

Más detalles

Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

Unidad V. Ya veremos qué poner en algunas_palabras y algo_más, por ahora sigamos un poco más. Implementación Orientada a Objetos. Unidad V 5.1 Estructura de una clase. Una clase consiste en: algunas_palabras class nombre_de_la_clase [algo_más] { [lista_de_atributos] [lista_de_métodos] Lo que está

Más detalles

Herencia. Implementación en Java

Herencia. Implementación en Java Herencia Implementación en Java Herencia Concepto de Herencia Es el mecanismo que permite definir nuevas clases partiendo de otras ya existentes. Las clases que derivan de otras heredan automáticamente

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

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

El lenguaje C++ A partir del lenguaje C Entorno de programación Visual C++ El lenguaje C++ A partir del lenguaje C Entorno de programación Visual C++ Nuevas palabras reservadas asm inline public virtual catch new template class operator this delete private throw friend protected

Más detalles

UAA-DSE Programación 2 / C++ Eduardo Serna-Pérez

UAA-DSE Programación 2 / C++ Eduardo Serna-Pérez 6 Herencia y Polimorfismo La Herencia y el Polimorfismo son dos de los principales mecanismos de programación que caracterizan a la programación orientada a objetos. La herencia sustenta su mecanismo en

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

12. Tipos de atributos

12. Tipos de atributos Programación orientada a objetos con Java 135 12. Tipos de atributos Objetivos: a) Profundizar en el concepto de atributo de una clase e indicar los tipos de atributos en Java b) Interpretar el código

Más detalles

Nociones básicas sobre C++ Agustín J. González Patricio Olivares ELO-329

Nociones básicas sobre C++ Agustín J. González Patricio Olivares ELO-329 Nociones básicas sobre C++ Agustín J. González Patricio Olivares ELO-329 1 C++ vs C C++ es un lenguaje más actual que C C++ mantiene todo el poder de C agregando características que facilitan la programación.

Más detalles

Universidad Nacional del Santa E.A.P. Sistemas e Informática Microcomputación III

Universidad Nacional del Santa E.A.P. Sistemas e Informática Microcomputación III HERENCIA Se entiende por herencia el proceso por el que un objeto puede tomar características de otro objeto. La herencia Se puede usar de dos formas: 1. Cuando una clase escrita no llega a cubrir las

Más detalles

Tema: Funciones Virtuales y Polimorfismo.

Tema: Funciones Virtuales y Polimorfismo. Programación II. Guía No. 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Comprender que es ligadura e identificar sus tipos.

Más detalles

Tema: Funciones Virtuales y Polimorfismo.

Tema: Funciones Virtuales y Polimorfismo. Programación II. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Específicos Comprender que es ligadura e identificar

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

PROGRAMACIÓN EN JAVA

PROGRAMACIÓN EN JAVA 1. INTRODUCCIÓN A LA PROGRAMACIÓN 1.1. Datos, algoritmos y programas 1.1.1. Definición de algoritmo 1.1.2. Datos 1.1.3. Características de un programa 1.2. Paradigmas de programación 1.2.1. Programación

Más detalles

La Herencia. La primera línea de cada declaración debe incluir la sintaxis siguiente:

La Herencia. La primera línea de cada declaración debe incluir la sintaxis siguiente: La Herencia Es la capacidad de compartir atributos y métodos entre clases. Es la propiedad que permite definir nuevas clases usando como base clases ya existentes. La nueva clase (clase derivada) hereda

Más detalles

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005 24 Noviembre 2005 disponibles de acceso public private protected de tipo static abstract final modificadores más avanzados que no vamos a ver... Clase Sintaxis modificadores class nombreclase{} Tipos primitivos

Más detalles

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores. Unidad IV Métodos. 4.1 Definición de un método. El polimorfismo, en programación orientada a objetos, se refiere a la posibilidad de acceder a un variado rango de funciones distintas a través del mismo

Más detalles

Tema: Herencia en C#.

Tema: Herencia en C#. POO. Guía No. 8 1 Tema: Herencia en C#. Facultad: Ingeniería Escuela: Computación Asignatura: Programación Orientada a Objetos Materiales y Equipo Computadora con Visual Studio /Visual C#. Guía Número

Más detalles

Tema: Plantillas en C++.

Tema: Plantillas en C++. Programación II. Guía 11 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Plantillas en C++. Objetivos Específicos Conocer los tipos de plantillas Utilizar las plantillas de

Más detalles

Tipos de Datos Simples Contenido del Tema

Tipos de Datos Simples Contenido del Tema T E M A 3 Tipos de Datos Simples Contenido del Tema 3.1. Concepto de Tipo 3.1.1. Elementos básicos: atributos y operaciones 3.1.2. Tipos. Concepto y necesidad 3.1.3. Operadores básicos 3.2. Tipos de Datos

Más detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1 Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1 Contenidos: 1. Características generales de C++ 2. Entrada/salida estándar 3. Variables y tipos de datos

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

Instituto Tecnológico de Celaya

Instituto Tecnológico de Celaya ELEMENTOS BÁSICOS DE C++: DECLARACIÓN DE VARIABLES A través de operaciones aritméticas (suma, resta, etc.) y lógicas (por ejemplo, comparaciones) los programas manipulan datos tales como números y caracteres.

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

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión VIII Composición... 4 Herencia... 8 Herencia e Inicialización... 11 Constructor de Superclase...

Más detalles

PNFSI. Asignatura: Desarrollo de Software. Tema 1: Programación Orientada a Objetos

PNFSI. Asignatura: Desarrollo de Software. Tema 1: Programación Orientada a Objetos PNFSI Asignatura: Desarrollo de Software Tema 1: Programación Orientada a Objetos Ing. Zamantha González Abril, 2008 Contenido Conceptos básicos Clase Objeto o instancia Atributos Métodos Constructores

Más detalles

Guía del Curso IFCD052PO PROGRAMACIÓN EN JAVA

Guía del Curso IFCD052PO PROGRAMACIÓN EN JAVA Guía del Curso IFCD052PO PROGRAMACIÓN EN JAVA Modalidad de realización del curso: Titulación: Online Diploma acreditativo con las horas del curso OBJETIVOS CONTENIDOS UNIDAD DIDÁCTICA 1. INTRODUCCIÓN A

Más detalles

Curso de Java Introducción a la Programación II

Curso de Java Introducción a la Programación II Curso de Java Introducción a la Programación II Jaime Fernández Martín Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Tipos Java 2 Decalaración de variables 3 Operadores aritméticos Índice

Más detalles

Creación de clases en C++ (I)

Creación de clases en C++ (I) Clases en C Creación de clases en C++ (I) Programación Orientada a Objeto Ing. Civil en Telecomunicaciones Convertir estructura InfoAlumno en una clase Escribir una clase simple en C++, con constructores

Más detalles

Programación orientada a objetos II

Programación orientada a objetos II Repaso de conceptos Programación orientada a objetos II Curso INEM. Programación en C++ Santiago Muelas Pascual smuelas@fi.upm.es! Clase! Objeto! Atributos! Métodos! Cambio de enfoque! Constructor! Creación

Más detalles

Una lista de operadores que pueden o no sobrecargarse es la siguiente: Operadores que pueden sobrecargarse

Una lista de operadores que pueden o no sobrecargarse es la siguiente: Operadores que pueden sobrecargarse La sobrecarga de operadores, aunque puede ser una capacidad exótica, la mayoría de personas las usa implícita y regularmente se valen de los operadores sobrecargados. Por ejemplo, el operador de suma (+)

Más detalles

Sebastián García Galán

Sebastián García Galán Universidad de Jaén E.U.P. Linares Dpto. Telecomunicaciones Área de Ingeniería Telemática Sebastián García Galán sgalan@ujaen.es Variables y tipos de datos Operaciones y operadores Clases y objetos Tipos

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

Tipos de Datos Recursivos

Tipos de Datos Recursivos 1/1 Tipos de Datos Recursivos Josefina Sierra Santibáñez 15 de mayo de 2018 2/1 Introducción La recursividad no sólo se puede aplicar a la definición de procedimientos (i.e. funciones o acciones), sino

Más detalles

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa Contenido Estructura de un programa en Java... 2 Tipos de datos básicos... 2 Operadores... 3 Literales... 4 Entrada / Salida... 4 Sentencias condicionales... 5 Funciones... 5 Ejercicios... 6 Variables,

Más detalles

Tema: Sobrecarga de Operadores Unarios. Sobrecarga de Funciones.

Tema: Sobrecarga de Operadores Unarios. Sobrecarga de Funciones. Programación II. Guía 8 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores Unarios. Sobrecarga de Funciones. Objetivos Diferenciar sobrecarga de operadores

Más detalles

Conceptos básicos sobre C++

Conceptos básicos sobre C++ Objetivos Generales Conceptos básicos sobre C++ El lenguaje C++ Clases Sobrecarga de funciones Sobrecarga de operadores Plantillas (templates) 1 2 El lenguaje C++ El lenguaje C++ (II) C++ es un lenguaje

Más detalles

Programación Estructurada. Sesión 2:El lenguaje de programación C

Programación Estructurada. Sesión 2:El lenguaje de programación C Programación Estructurada Sesión 2:El lenguaje de programación C Contextualización Una parte importante del lenguaje C son las palabras reservadas, son identificadores con un significado predefinido. Estas

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión IX Composición... 4 Herencia... 8 Herencia e Inicialización... 12 Constructor de Superclase...

Más detalles

Tema 2: Programación basada en Objetos

Tema 2: Programación basada en Objetos Tema 2: Programación basada en Objetos Programación Orientada a Objetos Marcos López Sanz Máster en Informática Gráfica, Juegos y Realidad Virtual Índice Objetivos Introducción Vista Pública Clases Objetos

Más detalles

Tema 6: Clases. Índice

Tema 6: Clases. Índice Tema 6: Clases Antonio J. Sierra Índice 1. Fundamentos. 2. Declaración de objetos. 3. Asignación de objetos a variables referencia. 4. Métodos. 5. Constructores. 6. this. 7. Recogida de basura. 8. Modelado

Más detalles

Unidad 2. Elementos Intermedios del Lenguaje

Unidad 2. Elementos Intermedios del Lenguaje Unidad 2 Elementos Intermedios del Lenguaje Paradigmas de Programación Un paradigma de programación se refiere a la forma en que se entiende, diseña y desarrolla una aplicación Imperativo Declarativo Funcional

Más detalles

Temas. Taller III 2007 Gentile,Vazquez

Temas. Taller III 2007 Gentile,Vazquez Temas Arreglos de Objetos Punteros de Objetos Arreglos de Punteros de Objetos Constructor de Copia Herencia Constructores y Destructores en Herencia Accesibilidad en Herencia 1 Arreglo de objetos Televisor

Más detalles

Programación Orientada a Objetos. Orientación a Objetos en Java

Programación Orientada a Objetos. Orientación a Objetos en Java Programación Orientada a Objetos Orientación a Objetos en Java Agenda Creación de Clases Tipo de datos Variables Operaciones aritméticas Objetos Objeto: entidad física o abstracta. Valores (datos): definen

Más detalles

Tipos Recursivos de Datos

Tipos Recursivos de Datos 1/1 Tipos Recursivos de Datos Josefina Sierra Santibáñez 27 de noviembre de 2016 2/1 Introducción La recursividad no sólo se puede aplicar a la definición de procedimientos (i.e. funciones o acciones),

Más detalles

18. Interfaces Declaración de una interfaz

18. Interfaces Declaración de una interfaz Programación orientada a objetos con Java 191 18. Interfaces Objetivos: a) Definir el concepto de interfaz b) Interpretar el código fuente de una aplicación Java donde aparecen interfaces c) Construir

Más detalles

Herencia y polimorfismo

Herencia y polimorfismo Herencia y polimorfismo Programación Orientada a Objeto Ing. Civil en Telecomunicaciones Herencia Hemos visto cómo crear nuestras propias clases Clase InfoAlumno para calcular las notas Supongamos ahora

Más detalles

Guía práctica de estudio 07: Herencia

Guía práctica de estudio 07: Herencia Guía práctica de estudio 07: Herencia 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 07: Herencia Objetivo:

Más detalles

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota:

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota: Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota: Justificación: Se pretende con éste contribuir a que el alumno se inicie y conozca el entorno del IDE en la creación de pequeños programas en java Objetivos:

Más detalles

UNIDAD 4 IMPLEMENTACION DE PROPIEDADES DE LOS OBJETOS JAVA

UNIDAD 4 IMPLEMENTACION DE PROPIEDADES DE LOS OBJETOS JAVA UNIDAD 4 IMPLEMENTACION DE PROPIEDADES DE LOS OBJETOS JAVA Analista Programador Universitario Universidad Nacional de Jujuy JTP Jorge R. Mendoza Implementación de propiedades de los objetos Java Contenido

Más detalles

IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA

IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA Implementación de conceptos P.O.O. en Java Temario 2. Conceptos de Programación Orientada a Objetos 1. Conceptos de P.O.O. 2. Implementación de conceptos P.O.O

Más detalles

Informática Industrial I

Informática Industrial I Informática Industrial I Grado en Ingeniería en Electrónica Industrial y Automática Álvaro Castro González Nicolas Burus Mohamed Abderrahim José Carlos Castillo Montoya Práctica 6 Plantillas A lo largo

Más detalles

Tema 2: Clase y objetos en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Tema 2: Clase y objetos en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 2: Clase y objetos en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Introducción Módulos en C++: Clases Estructuras (struct) Espacios de nombres (namespace) Semántica

Más detalles

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

Contenido. Prefacio Orígenes de la programación orientada a objetos... 1 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

Más detalles

Java. Introducción a la Programación Orientada a Objetos

Java. Introducción a la Programación Orientada a Objetos Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora

Más detalles

Programación 1 Tema 3. Información, datos, operaciones y expresiones

Programación 1 Tema 3. Información, datos, operaciones y expresiones Programación 1 Tema 3 Información, datos, operaciones y expresiones Índice Datos y tipos de datos Datos primitivos en C++ Expresiones e instrucción de asignación Datos y tipos de datos Problema información

Más detalles

3.4 Clases y Objetos 05/04/2004. Conceptos Generales. Modificadores de la Clase. Estructura de una Clase. Variables Miembros

3.4 Clases y Objetos 05/04/2004. Conceptos Generales. Modificadores de la Clase. Estructura de una Clase. Variables Miembros Conceptos Generales 3.4 Clases y Objetos Clases, miembros, constructores, control de acceso Las clases contienen los métodos que definen la computación Los campos (fields) o variables miembros definen

Más detalles

Tema 2.- Objetos y mensajes

Tema 2.- Objetos y mensajes Tema 2.- Objetos y mensajes 1. Objetos y mensajes: mecanismo de envío de mensajes...2 2. SMALLTALK: EXPRESIONES...3 2.1. LITERALES: designan objetos constantes...3 2.2. NOMBRES DE VARIABLES: identifican

Más detalles

Tema 1. Programación modular. Programación Avanzada Ingeniería Técnica en Informática de Gestión Jorge Badenas

Tema 1. Programación modular. Programación Avanzada Ingeniería Técnica en Informática de Gestión Jorge Badenas Tema 1. Programación modular Programación Avanzada Ingeniería Técnica en Informática de Gestión Jorge Badenas 1.1. Objetivos Repasar brevemente mediante ejemplos los elementos principales del lenguaje

Más detalles

Manejo de Clases y Objetos. Manejo de Clases y Objetos

Manejo de Clases y Objetos. Manejo de Clases y Objetos Cod. 1728.61 PLATAFORMA.NET Y SERVICIOS WEB nestor@lsi lsi.uniovi.es Dpto. de Informática - Laboratorio de Tecnologías de Orientación a Objetos http://www www.ootlab.uniovi.es CONCEPTOS BÁSICOS Objeto:

Más detalles

Tema: Herencia en C#.

Tema: Herencia en C#. Programación II. Guía No. 8 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herencia en C#. Objetivos Crear clases a través de la herencia de clases existentes. Describir

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

Los Constructores(1)

Los Constructores(1) Java: Definición de Clases y Objetos Presentación basada en: 1. Como Programar en Java. Deitel y Deitel. Ed. Prentice-Hall. 1988 2. Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA,

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

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

Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones

Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Práctica 2 Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Más detalles

Tema 1. Herencia y Polimorfismo

Tema 1. Herencia y Polimorfismo ÍNDICE EDA. Unidad didáctica I: Conceptos de Java para Estructuras de Datos Tema 1. Herencia y Polimorfismo 1. Relaciones entre clases: Reutilización del software. 2. La Herencia como soporte Java del

Más detalles

directamente indirectamente

directamente indirectamente PUNTEROS EN C PUNTEROS Permiten simular el pasaje de parámetros por referencia. Permiten crear y manipular estructuras de datos dinámicas. Su manejo es de fundamental importancia para poder programar en

Más detalles

UNIVERSIDAD AUTONOMA DE QUERETARO Facultad de Informática

UNIVERSIDAD AUTONOMA DE QUERETARO Facultad de Informática PROGRAMACIÓN ORIENTADA A OBJETOS(1602). ÁREA DE CONOCIMIENTO: PROGRAMACIÓN E INGENIERÍA DE SOFTWARE CRÉDITOS: 7 HORAS TEÓRICAS ASIGNADAS A LA SEMANA: 2 HORAS PRÁCTICAS ASIGNADAS A LA SEMANA: 2 PROGRAMAS

Más detalles

2. Tratamiento de objetos con JAVA

2. Tratamiento de objetos con JAVA 2. Tratamiento de objetos con JAVA David Contreras Bárcena (ETSI) - Comillas 71 2.1 Ciclo de Vida de los Objetos Los objetos tienen un tiempo de vida y consumen recursos durante el mismo. Cuando un objeto

Más detalles

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora

Más detalles

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

Introducción a OOP. Programación Orientada a Objeto Introducción a OOP Programación Orientada a Objeto Evolución Programación no Estructurada, Programación procedimental, Programación modular y Programación orientada a objetos. Programación no Estructurada

Más detalles

Guía práctica de estudio 08: Polimorfismo

Guía práctica de estudio 08: Polimorfismo Guía práctica de estudio 08: Polimorfismo 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 08: Polimorfismo

Más detalles

! Fundamentos de la POO. ! Comportamiento y estado. ! Clases y objetos en Java

! Fundamentos de la POO. ! Comportamiento y estado. ! Clases y objetos en Java Introducción a la programación orientada a objetos Curso de Programación en Java! Fundamentos de la POO! Comportamiento y estado! Clases y objetos en Java Contenidos Luis Guerra l.guerra@upm.es Enero 2012

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM. Programación en Java Diciembre 2010 Índice 1 Introducción 2 Comportamiento y estado 3 POO en Java 4 Relaciones 5 Herencia

Más detalles

INTRODUCCIÓN A LA POO EN C++

INTRODUCCIÓN A LA POO EN C++ INTRODUCCIÓN A LA POO EN C++ ÍNDICE DEL TEMA 1.- Introducción 2.- Diferencias C/C++ 3.- Programación orientada a objetos 4.- Aspectos avanzados C++ 1 1. Introducción Lenguaje C Lenguaje de propósito general

Más detalles

Edwin Andrés Cubillos Vega

Edwin Andrés Cubillos Vega PROGRAMACION ORIENTADA A OBJETOS Edwin Andrés Cubillos Vega Company LOGO Contenido Introducción Clases y Objetos Herencia Constructores y Destructores Polimorfismo Contenido Introducción Clases y Objetos

Más detalles

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Apunte Laboratorio ALPI - El lenguaje de programación Pascal Apunte Laboratorio ALPI - El lenguaje de programación Pascal 1 2 ÍNDICE GENERAL Índice 1. Estructura de un Programa en Pascal 3 2. Sintaxis de Pascal 4 2.1. Uso de mayúsculas.....................................

Más detalles

El operador contenido ( ) permite acceder al contenido de

El operador contenido ( ) permite acceder al contenido de 3. Memoria Dinámica y Punteros Objetivos: Distinguir los conceptos de memoria estática y memoria dinámica Comprender el concepto de puntero como herramienta de programación Conocer cómo se definen y cómo

Más detalles

Agustín J. González ELO329

Agustín J. González ELO329 ( Friend ) Funciones y Clases Amigas ( Static ) Miembros Estáticos Agustín J. González ELO329 Funciones y Clases Friend El calificador friend se aplica a funciones globales y clases para otorgar acceso

Más detalles

Programación Orientada o Objetos

Programación Orientada o Objetos Programación Orientada o Objetos Programación digital II Escuela de Sistemas Facultad de Ingeniería Profesor: Gilberto Diaz Programación Orientada a Objetos En 1970 Dennis Ritchie y Brian Kernigan crearon

Más detalles

Algunas ideas básicas de C++ Agustín J. González ELO-329

Algunas ideas básicas de C++ Agustín J. González ELO-329 Algunas ideas básicas de C++ Agustín J. González ELO-329 1 Archivos de encabezado Son necesarios para hacer uso de constantes predefinidas. Son incluidos con la directiva del pre-procesador #include Ejemplo:

Más detalles

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples Desarrollo de aplicaciones en Java Generación de código fuente Compilación Ejecución Elementos de aplicaciones simples EII147-01-02 Introducción a las tecnologías de información Escuela de Ingeniería Industrial

Más detalles