10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales.

18
10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales

Transcript of 10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales.

Page 1: 10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales.

10-INFORMÁTICA 1Sara Isabel Osorio AlacrazAna Isabel Vallejo Grisales

Page 2: 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

Page 3: 10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales.

Clases en P.O.OLas 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.

Page 4: 10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales.

Propiedades en clases Las 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 clases Son 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.

S

Page 5: 10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales.

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.

Page 6: 10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales.

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

Page 7: 10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales.

POLIMORFISMOCapacidad 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.

Page 8: 10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales.

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

Page 9: 10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales.

• 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.

Page 10: 10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales.

EJEMPLOSchar 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; int num_serie; public: disco (int c, char * f, int n){ capacidad = c; strcpy(fabricante, f); num_serie=n;} void imprimir_capacidad(){ cout << capacidad; } virtual void imprimir_fabricante(){ cout << fabricante; } void imprimir_num_serie(){ cout << num_serie; }

S

Page 11: 10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales.

ABSTRACCIÓNA 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.

Page 12: 10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales.

EJEMPLOSposx, posy tipo_ventana tipo_borde color_ventana

mover_horizontal mover_vertical

S

Page 13: 10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales.

CLASESon 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.

Page 14: 10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales.

EJEMPLOSSi tenemos la operación de multiplicar complejos, no tiene sentido multiplicar cadenas.

Si tenemos un array de enteros, podemos recorrerlo, buscar unelemento, etc..

Si tenemos una pantalla, podemos escribir en ella, borrar, etc..

S

Page 15: 10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales.

OBJETOEs 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.

Page 16: 10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales.

EJEMPLOSDado un plano para construir sillas (una clase de nombre clase_silla)

Disponiendo de un determinado tipo de dato (por ejemplo el tipo entero)

S

Page 17: 10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales.

HERENCIAPermite 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.

Page 18: 10-INFORMÁTICA 1 Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales.

EJEMPLOS

S

Decimos que una gallina es un ave; esto quiere decir que las gallinas tienen características comunes con otras aves (pico, plumas, etc.)

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.