2 Conceptos Basicos OO.pptx

26
Concepto s Basicos OO Subtítulo

Transcript of 2 Conceptos Basicos OO.pptx

Conceptos BasicosOOSubttulo

Anlisis y DiseoOrientado a Objetos

Orientacin a ObjetosVarias definicionesSegn Page-Jones: Son 9 los conceptos de informtica que definen esta tecnologa:

EncapsulacinOcultamiento de informacin/implementacinRetencin de estadoIdentidad del objetoMensajesClasesHerenciaPolimorfismoGeneralidad

Hablemos de OBJETOS

Qu es un objeto?Un objeto es una instancia de una clase (categora). Un objeto tiene una estructura. Tiene atributos (propiedades) y comportamiento. El comportamiento de un objeto consiste en las operaciones que desempea (llamados tambin mtodos).

Los atributos de un objeto son manipulados solo a travs de operaciones. Estos atributos pueden ser tambin otros objetos.

5- El mundo esta hecho de objetos, los objetos estn a su vez hecho de objetos ms pequeos. Varios objetos se combinan para formar objetos mas grandes. Vivimos en un mondo orientado a objetos.- Los objetos pueden ser descritos por sus atributos y operaciones. Los atributos caracteristicas cambiantes de un objeto. Los Gatos tienen colores, tamaos, pesos y preferencias de la comida que gustan. - Las operaciones son las cosas que un objeto realiza o puede haber hecho al mismo.

Hablemos de ObjetosUn objeto vehculo tiene atributos, puede ejecutar operaciones y recibe mensajes.Un mensaje es un comando que pide al objeto la ejecucin de cierta operacin.

Presionar Freno

Mover controlAtributosParar

Encender limpia parabrisasOperacionesMarca: XXX Modelo: YYYColor: ZZZMensajesMensaje

Es el comando mediante el cual un objeto obj1 enva a un objeto obj2 la demanda para que el objeto obj2 aplique uno de sus mtodos.

Estructura: Ligadura (handle), Nombre de Operacin, Parmetros

Un mensaje es el comando mediante el cual el objeto X enva al objeto Y la demanda para que el objeto Y ejecute una de sus operaciones.

Mensajes8Hablemos de ObjetosLos objetos se los categoriza en clases.Ejemplo: Clase Aeronave

AERONAVEcdigomarcamodelocapacidadfuerzavelMax..acelerar()desacelerar() ascender()descender()giroDer()giroIzq()En OO, una clase no solo tiene el objetivo de categorizarsino tambin el de servir como plantilla para crear objetos o instanciasAtributosOperaciones9Clase10M TransportePuntoFiguraAnimal

(1,3)(2,2)(2,1)(5,2.5)

Clase

Es la plantilla/molde a partir de la cual los objetos son creados. Cada objeto tiene la misma estructura y comportamiento que la clase a partir de la cual fue creado.

Si el objeto obj pertenece a la clase C, se dice que obj es una instancia de C

HerenciaLa herencia podemos definirla como la capacidad para crear nuevos objetos y tambin clases a partir de clases existentes.Los objetos y nuevas clases heredarn atributos y operaciones pero las clases podrn contar con otros atributos y operaciones propios.Ventaja principal: re-utilizacin del cdigo.Posibilidad de crear superclases abstractas que definen un comportamiento genricoPolgonoTrianguloRectnguloHexgonoSuperclaseSubclase12Orientacin a ObjetosHerencia

(de C a D) Es la facilidad mediante la cual la clase D ha definido en ella cada uno de los atributos y operaciones de C, como si eso atributos y operaciones hubiesen sido definidos por las misma D.C es la superclase y D la subclase.

figuraareaposicindevuelveArea( )estrellanmero de puntoselipseeje focaleje menorcrculodimetroPolimorfismo

Es la facilidad mediante la cual un nombre de operacin o atributo puede ser definido en ms de una clase y puede tener diferentes implementaciones en cada una de esas clases.

Es la propiedad a travs de la cual un atributo o variable puede apuntar (mantener una ligadura) a objetos de diferentes clases en momentos distintos.

PolimorfismoEs la habilidad de enviar el mismo mensaje a objetos de diferentes clases y que cada objeto responda de una manera particular.Esto sucede en tiempo de ejecucin y no en la compilacin.

abrir

15Orientacin a ObjetosGeneralidad

Es la construccin de una clase C de tal forma que una o ms clases que utiliza internamente es proporcionada en tiempo de ejecucin (en el momento en que se crea una instancia de la clase C).

Orientacin a ObjetosEncapsulacin

Es el agrupamiento de ideas relacionadas en una unidad, la cul puede a partir de esto ser referida por un solo nombre.

Con relacin a la OO, la encapsulacin es el empaquetado de operaciones y atributos que representan estado en un tipo de objeto de tal forma que el estado es accesible o modificable solamente a travs del interfaz provisto por la encapsulacin.

EncapsulacinEs el empaquetar en una clase los datos (propiedades) y el cdigo (mtodos) que operan en esos datos. El acceso a esos datos solo es permitido a travs de los mtodos del objeto.La encapsulacin permite el uso de objetos como componentes modulares en cualquier lugar del sistema.

La calculadora oculta lasoperaciones que realiza internamente de lapersona que la utiliza.18

Interfaz.Un objeto oculta cmo realiza las operaciones.Sin embargo el objeto tiene que mostrar una cara al mundo exterior para permitir la utilizacin de dichas operaciones.Este elemento se viene a denominar interfaz

La calculadora y la TV ocultanlas operaciones que realizan internamente pero provee un INTERFAZAsociaciones

conduceUna asociacin es un mapeo entre un objeto en una clase con uno o ms objetos en otra clase.

La asociacin conduce es unidireccional, pero una como est casado(a) con es bidireccional.20AsociacionesUna clase puede estar asociada a ms de una clase diferente.

conduce

conduceMultiplicidadUn objeto de una clase puede estar asociado a uno o varios objetos de otra clase.

Un profesor(a) estasociado(a) a variosestudiantes.ProfesorAlumno1..*1..*enseaAbstraccinEn palabras sencillas abstraccin significa filtrar las propiedades y operaciones de un objeto hasta que queden solamente aquellas que necesitamos.Diferentes tipos de problemas necesitan diferentes cantidades de informacin.

HH:mm:ss

23DependenciaUna relacin de dependencia ndica que un cambio al elemento destino puede implicar un cambio en el elemento origen.

ClaseDependiente

ClaseDeLa QueDepende

24Orientacin a ObjetosOcultamiento de Informacin / Implementacin

Es el uso de encapsulacin para restringir de la vista externa, cierta informacin decisiones de implementacin que son internas a la estructura encapsulada.

Orientacin a ObjetosIdentidad del Objeto

Es la propiedad mediante la cual cada objeto (sin importar su clase o estado actual) puede ser identificado y tratado como una entidad distinta de software.