Professional Documents
Culture Documents
PROGRAMACIN MULTIMEDIA
Programacin Multimedia
Programacin modular
Programa modular
Programacin Multimedia
Programacin Multimedia
}; int main(,){ persona alumno; alumno.ci = 2323232; alumno.nombre = Jorge; alumno.apellidos = Lopez; cout<<Su Nombre es:<<alumno.nombre; return 0; }
Programacin Multimedia
}
Programacin Multimedia
PRINCIPIOS DE LA POO
Todo son objetos Un programa es una coleccin de objetos. Los objetos interactan realizando peticiones de servicios a otros objetos mediante mensajes. El cmputo avanza mediante la interaccin de los objetos Todo objeto es un ejemplar de un clase. Una clase agrupa objetos similares.
Programacin Multimedia
QUE ES UN OBJETO?
En el mundo real, todo son objetos: un perro, una casa, un coche, etc. Un objeto del mundo real tiene dos caractersticas:
Estado (nombre, color, tamao, etc) Comportamiento (ladrar, correr, dormir, etc)
Programacin Multimedia
QUE ES UN OBJETO?
OBJETO
9
Programacin Multimedia
QUE ES UN OBJETO?
El algoritmo o conjunto de operaciones que ejecuta un objeto como respuesta a un mensaje se llama mtodo
10
Programacin Multimedia
11
Programacin Multimedia
QUE ES UN CLASE?
Todos los objetos de un mismo tipo comparten la misma clase Todo objeto es instancia de alguna clase La clase describe las caractersticas de los objetos de la misma clase
Qu atributos tienen Qu mtodos tienen
La clase es un concepto esttico (en tiempo de diseo) mientras que el objeto es un concepto dinmico (en tiempo de ejecucin)
12
Programacin Multimedia
QUE ES UN CLASE?
class persona{
private: string ci; string nombre; string apellidos; public: void setCI(string ci){ .. }; void setNombre(string nombre){ .. }; void setApellidos(string apellidos){ .. }; string getCI(){ .. }; string getNombre(){ .. }; string getApellidos{ .. };
CLASE
OBJETO
13
}
Programacin Multimedia
14
Programacin Multimedia
ENCAPSULACIN
15
Programacin Multimedia
ENCAPSULACIN
Cmo controlar la visibilidad de atributos y mtodos? Los lenguajes de programacin suelen proporcionar ciertas palabras clave:
public: acceso pblico sin restricciones private: acceso restringido nicamente desde el interior del objeto protected: acceso restringido desde el interior del objeto o cualquiera de las subclases en una jerarqua de herencia
16
Programacin Multimedia
ENCAPSULACIN
class persona{
private: Visibilidad string ci; string nombre; string apellidos; public: void setCI(string ci){ .. }; void setNombre(string nombre){ .. }; void setApellidos(string apellidos){ .. }; string getCI(){ .. }; string getNombre(){ .. }; string getApellidos{ .. };
};
Programacin Multimedia
17
HERENCIA
Poderoso mecanismo de reutilizacin de cdigo (mucho ms potente que los procedimientos) por el cual una clase puede heredar los atributos y mtodos de otra clase. Mecanismo por el que es posible definir clases a partir de otras clases Conceptualmente, se dice que el conocimiento de una clase ms general es aplicable tambin a la clase ms especfica. Se habla por tanto tambin de generalizacin/especializacin La tcnica reside en factorizar los aspectos comunes en una clase base y heredar de dicha clase
18
Programacin Multimedia
Las clases se pueden organizar en una estructura de rbol, llamada jerarqua de herencia La informacin (datos y comportamiento) asociados con un nivel de una jerarqua de clases es aplicable automticamente a los niveles inferiores de la jerarqua La clase base se denomina superclase o clase padre La clase que hereda se denomina subclase, clase hija
19
Programacin Multimedia
HERENCIA
20
Programacin Multimedia
POLIMORFISMO
Polimorfismo: muchas formas. Fuertemente ligado con el concepto de herencia. Todo objeto que pertenece a una subclase pertenece tambin a la superclase Una subclase puede sobreescribir el comportamiento de alguna clase padre en su jerarqua de herencia Para un mismo mensaje cada clase se comporta de una manera diferente (la implementacin del mtodo es diferente)
21
Programacin Multimedia
POLIMORFISMO
22
Programacin Multimedia
REUTILIZACIN DE CLASES
El nfasis de la OO en la construccin de componentes independientes permite un proceso de desarrollo incremental, en el cual unidades de software individuales (clases) se disean, programan y prueban antes de combinarse en un sistema grande
Al reducir la interdependencia entre los componentes software, la orientacin a objetos permite el desarrollo de sistemas de software reutilizable
23
Programacin Multimedia
24
Programacin Multimedia
REUTILIZACIN DE CLASES
25
Programacin Multimedia
REUTILIZACIN DE CLASES
COMPOSICIN Usando la relacin tieneun, un componente es simplemente parte del estado de otro componente o de otra manera, un componente est compuesto-de.
Un coche tiene-un motor Una casa tiene-una puerta Una receta tiene-una lista de ingredientes
HERENCIA En la herencia un componente es-una variacin de otro, y hereda todas las caractersticas del primero sin necesidad de volver a codificarlo.
26
Programacin Multimedia
RESUMEN
Adems de un acercamiento al lenguaje natural, la POO aporta dos grandes ventajas en el mbito de la programacin:
Facilita la reutilizacin de cdigo Mejora la modularidad y el control de errores, lo que se nota, sobre todo, en aplicaciones grandes.
27
Programacin Multimedia
RESUMEN
La POO se basa en tres conceptos: Encapsulamiento. Unir bajo una misma entidad lgica datos y cdigo que lo manipula, aislndolos del resto. En POO esto se consigue con las clases. Polimorfismo. La POO aporta la posibilidad de polimorfismo cuando un mtodo produce efectos diferentes en funcin de la clase a la que se aplique. Es importante no confundir el polimorfismo con la sobrecarga de funciones o la sobrecarga de operadores. Herencia. La herencia aprovecha las clases ya definidas para definir otras ms especficas, que heredan los miembros de las clases ms generales. A la clase ms general se la denomina clase base o superclase, y a la ms especfica clase hija o subclase.
Programacin Multimedia
28