Lenguaje de Programación Orientado a Objetos
|
|
- Raúl Pereyra Rojas
- hace 5 años
- Vistas:
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++
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 detallesProgramació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 detallesProgramació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 detallesPROGRAMACION 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 detallesQué 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 detallesAlgoritmos 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 detallesProgramació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 detallesAcademia 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 detallesCarlos 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 detallesElementos 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 detallesIntroducció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 detallesIntroducció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 detallesPROGRAMACIÓ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 detallesUnidad 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 detallesHerencia. 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 detalles4. 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 detallesEl 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 detallesUAA-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
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 detalles12. 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 detallesNociones 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 detallesUniversidad 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 detallesTema: 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 detallesTema: 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 detallesProgramació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 detallesPROGRAMACIÓ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 detallesLa 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 detallesIntroducció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 detallesUnidad 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 detallesTema: 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 detallesTema: 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 detallesTipos 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 detallesAlgoritmos 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 detallesUnidad 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 detallesInstituto 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 detallesCentro 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 detallesCentro 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 detallesPNFSI. 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 detallesGuí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 detallesCurso 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 detallesCreació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 detallesProgramació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 detallesUna 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 detallesSebastiá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 detallesConstrucciones 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 detallesTipos 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 detallesEstructura 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 detallesTema: 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 detallesConceptos 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 detallesProgramació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 detallesCentro 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 detallesTema 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 detallesTema 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 detallesUnidad 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 detallesTemas. 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 detallesProgramació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 detallesTipos 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 detalles18. 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 detallesHerencia 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 detallesGuí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 detallesDocente: 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 detallesUNIDAD 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 detallesIMPLEMENTACIÓ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 detallesInformá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 detallesTema 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 detallesContenido. 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 detallesJava. 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 detallesProgramació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 detalles3.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 detallesTema 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 detallesTema 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 detallesManejo 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 detallesTema: 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 detalles1.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 detallesLos 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 detallesProgramació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 detallesTodo 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 detallesPrá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 detallesTema 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 detallesdirectamente 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 detallesUNIVERSIDAD 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 detalles2. 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 detallesVARIABLES, 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 detallesIntroducció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 detallesGuí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
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 detallesCurso 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 detallesINTRODUCCIÓ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 detallesEdwin 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 detallesApunte 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 detallesEl 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 detallesAgustí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 detallesProgramació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 detallesAlgunas 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 detallesabril 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