180 likes | 324 Views
10-INFORMÁTICA 1. Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales. PROGRAMACION ORIENTADA A OBJETOS(P.O.O).
E N D
10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales
PROGRAMACION ORIENTADA A OBJETOS(P.O.O) Es un paradigma de programación que define los programas en términos de “clases de objetos”, objetos que son entidades que combinan estado (propiedades o datos), comportamiento (procedimientos o métodos) e identidad (propiedad del objeto que lo diferencia del resto). S
Clases en P.O.O Las clases son declaraciones de objetos, también se podrían definir como abstracciones de objetos. Cuando programamos un objeto y definimos sus características y funcionalidades en realidad lo que estamos haciendo es programar una clase.
S Propiedades en clasesLas propiedades o atributos son las características de los objetos. Cuando definimos una propiedad normalmente especificamos su nombre y su tipo. Nos podemos hacer a la idea de que las propiedades son algo así como variables donde almacenamos datos relacionados con los objetos. Métodos en las clasesSon las funcionalidades asociadas a los objetos. Cuando estamos programando las clases las llamamos métodos. Los métodos son como funciones que están asociadas a un objeto.
ENCAPSULACIÓN Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente. Se refiere a la capacidad de agrupar y condensar en un entorno con límites bien-definidos distintos elementos.
EJEMPLOS Porción visible: interfaz (protocolo)– Contrato público de comportamiento– Descripción de operaciones: información de entrada y de salida Porción oculta: implementación– Estructura de datos para almacenar la información– Código que se ejecuta para realizar las operaciones S
POLIMORFISMO Capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en función de los parámetros utilizados durante su invocación. Un objeto polimórfico es una entidad que puede contener valores de diferentes tipos durante la ejecución del programa.
El polimorfismo (o upcasting) consiste en la posibilidad de que una referencia a objetos de una clase pueda conectarse también con objetos de descendientes de ésta. El sentido del polimorfismo es realizar una generalización, olvidar los detalles concretos de uno o varios objetos de distintas clases y buscar un punto común a todos ellos en un ancestro. Se trata de algo que realiza comúnmente la mente humana durante el proceso de razonamiento. S
• Polimorfismo dinámico (o polimorfismo paramétrico) es aquél en el que el código no incluye ningún tipo de especificación sobre el tipo de datos sobre el que se trabaja. Así, puede ser utilizado a todo tipo de datos compatible. • Polimorfismo estático (o polimorfismo ad hoc) es aquél en el que los tipos a los que se aplica el polimorfismo deben ser explicitados y declarados uno por uno antes de poder ser utilizados.
EJEMPLOS char n[40]; Persona *Pepito = new Estudiante("Jose"); Persona *Carlos = new Empleado("Carlos"); cout << Carlos->VerNombre(n) << endl; cout << Pepito->VerNombre(n) << endl; delete Pepito; delete Carlos; system("pause"); return 0; class disco{ protected: int capacidad; char * fabricante; intnum_serie; public: disco (int c, char * f, int n){ capacidad = c; strcpy(fabricante, f); num_serie=n;} voidimprimir_capacidad(){ cout << capacidad; } virtual voidimprimir_fabricante(){ cout << fabricante; } voidimprimir_num_serie(){ cout << num_serie; } S
ABSTRACCIÓN A través de la abstracción conseguimos extraer las cualidades principales sin detenernos en los detalles. Conseguimos a partir de un tema determinado, generalizar y obtener una visión global del tema. Cuando montamos un ordenador ensamblamos los componentes necesarios para construir el ordenador. Utilizamos una placa base, un disco duro, memoria, etc. Manejamos estos dispositivos a un nivel funcional. Es decir, abstraemos las funciones de cada dispositivo para trabajar con ellos.
EJEMPLOS posx, posy tipo_ventana tipo_borde color_ventana mover_horizontal mover_vertical S
CLASE Son declaraciones o abstracciones de objetos, lo que significa, que una clase es la definición de un objeto. Cuando se programa un objeto y se definen sus características y funcionalidades, realmente se programa una clase.
EJEMPLOS Si tenemos la operación de multiplicar complejos, no tiene sentido multiplicar cadenas. Si tenemos un array de enteros, podemos recorrerlo, buscar un elemento, etc.. Si tenemos una pantalla, podemos escribir en ella, borrar, etc.. S
OBJETO Es una unidad dentro de un programa de computadora que consta de un estado y de un comportamiento, que a su vez constan respectivamente de datos almacenados y de tareas realizables durante el tiempo de ejecución.
EJEMPLOS Dado un plano para construir sillas (una clase de nombre clase_silla) Disponiendo de un determinado tipo de dato (por ejemplo el tipo entero) S
HERENCIA Permite construir una clase incorporando de manera implícita todas las características de una clase previamente existente. Son varias las razones que justifican su existencia: Modelado de la realidad. Son frecuentes las relaciones de especialización/generalización entre las entidades del mundo real, por tanto es lógico que dispongamos de un mecanismo similar entre las clases de objetos.
EJEMPLOS Si declaramos una clase párrafo derivada de una clase texto, todos los métodos y variables asociadas con la clase texto, son automáticamente heredados por la subclase párrafo. Decimos que una gallina es un ave; esto quiere decir que las gallinas tienen características comunes con otras aves (pico, plumas, etc.) S