Está en la página 1de 57

Universidad del Valle

Algoritmia y Programacin Clase No 1 :El enfoque de objetos


Profesor: Jairo Ernesto Maldonado jaerma@eisc.univalle.edu.co

http://eisc.univalle.edu.co/~jaerma/AYP/

Algoritmia y Programacin

Presentacin Programa: ver http://eisc.univalle.edu.co/~jaerma/


AYP/

Objetivos Contenido Metodologa Evaluacin Bibliografia


eisc.univalle.edu.co/~jaerma/AYP/

04/02/08

Contenido: Clase No 1

Introduccin El enfoque O.O Identificacin y caracterizacin de clases


Representacin Jerarqua Conceptos: Herencia, uso, composicin Diagrama de clases

Propiedades del enfoque O.O


eisc.univalle.edu.co/~jaerma/AYP/

04/02/08

Introduccin

Porqu algoritmia y programacin?


Intil es demostrar la verdad a aquellos cuyos pensamientos son bajos. Nietzche La imaginacin es ms importante que el conocimiento La formulacin de un problema es ms importante que su solucin Tuve la fortuna de topar con libros que no eran demasiado puntillosos con el rigor lgico, pero que en cambio hacan resaltar con claridad las ideas principales
eisc.univalle.edu.co/~jaerma/AYP/

04/02/08

Introduccin
Necesidad e importancia
Casi todo y los problemas ms complejos de otras ciencias se reducen a problemas de computacin. Formacin metodolgica en la solucin de problemas. Surgimiento de la algoritmia. x+ y =Z Porque es la ciencia de la solucin de problemas en general y con ella se puede modelar casi todo. Procesos biolgicos, Autoreproduccin celular. Matrix: mundos virtuales

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Introduccin

Necesidad e importancia

Te permite categorizar los tipos de problemas y los tipos de algoritmios o soluciones ms adecuadas. Relacin entre una solucin particular a un problema y las ciencias matemticas. Generalidad!!, cualquier tipo de sistema. 7x2+4x+12, ax2+bx+c , calculo, algebra, conjuntos.
eisc.univalle.edu.co/~jaerma/AYP/

04/02/08

Tarea de consulta
1.

2. 3.

Averiguar cuales son los problemas ms difciles de resolver de su carrera. Definicin de algoritmo Tipos de algoritmos.

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Introduccin

El hombre, necesidades, problemas, herramientas, Inteligencia, mtodos y procedimientos. Que hace Ingeniero?

S.P Mejor manera posible(+ con -) optimizar Crear, Mejorar Herramientas (tecnologa) Modelar Eficiente, Efectivo, eficaz
eisc.univalle.edu.co/~jaerma/AYP/

04/02/08

Introduccin

Computacin (algoritmia y la computacin): herramienta ms poderosa para la solucin de problemas complejos.

Automatizacin del procesamiento de informacin de grandes volmenes y con gran rapidez. Modelamiento de sistemas, mediante la descripcin de procesos en algoritmos. Plano y la maqueta.

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Introduccin

Computacin (algoritmia y la computacin): herramienta ms poderosa para la solucin de problemas complejos.

Casi todo se reduce en terminos de algoritmia y computacin. Hacia donde tiende al computacin hoy en da.

Toma decisiones inteligentes. IA, mquinas inteligentes. Mquinas de base computacional diferente, computacin de base biolgica y celular.

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Introduccin

Desea: son soluciones computacionales eficientes y organizadas (Ingeniera de software) Industriales No volver a empezar Reutilizar Proyectos grandes se tornan inmanejables

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Introduccin

Ejercicio En clase: 10 min. Crear un lenguaje grfico que me permita modelar en trminos de informacin el mundo real.

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

El enfoque de objetos

Manera de modelar, de entender y solucionar los problemas de computacin Cercanos al mundo real Forma Organizada de darle modularidad al software.

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

El enfoque de objetos

El mundo esta compuesto de objetos y que toda situacin, proceso, problema, puede verse y modelarse como una interaccin entre esos objetos. Ejemplo: un escenario La programacin O.O se basa en el conocimiento de los Objetos involucrados en el dominio del problema

Sus caractersticas Su comportamiento Y su interaccin


eisc.univalle.edu.co/~jaerma/AYP/

04/02/08

El enfoque de objetos
2.

Resumen: Conocimiento de los objetos involucrados en el problema


i. ii.

Caractersticas Comportamiento

3.

El sistema bajo estudio se modela como la interaccin entre objetos (para lograr un objetivo).
i. ii.

Organizacin y relacin clases Paso de mensajes.


eisc.univalle.edu.co/~jaerma/AYP/

04/02/08

El enfoque anterior: de procesos

Este enfoque parte del supuesto que la solucin a un problema es un proceso, el cual transforma entradas en salidas. En otras palabras una solucin es un sistema el cual contiene elementos, tiene datos de entrada y debe producir unos resultados con base al proceso o funcin encargada de transformarlos. El sistema o problema objeto de estudio= datos Entrada + variables +algoritmos.

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Identificacin de objetos
Objetos del mundo real: habitacin

1. Cama de madera 2. Mesa de noche izq. 3. Mesa de noche der. 4. Tapete negro 5. Grabadora Sony 600 6. CD Tracy Chapman 7. CD Norah Jones 8. Casete Red Hot Ch. 9. Casete Sum 41 10. Televisor 19
04/02/08

13. Armario metlico 14. Blue Jean 15. Pantaln negro 16. Pantaln caf 17. Camisa blanca 18. Camisa negra 19. Zapatos mocasn negros 20. Zapatos mocasn caf 21. Correa negra 22. Correa caf

eisc.univalle.edu.co/~jaerma/AYP/

Caracterizacin de objetos
1. Conocimiento de los objetos involucrados en el problema: caractersticas y comportamiento
La Grabadora Marca Color Dueo Precio Referencia : Sony : Negra : Pedro : 120000 : GLX 60 La Meza de noche Izquierda Altura : 25 Color : Caf Cajones :3 Tipo Material : Madera Referencia : inglesa

Caractersticas

reproducir CD, reproducir casete, aumentar volumen, apagar, encender

Comportamiento

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Caracterizacin de objetos
Conocimiento de los objetos involucrados en el problema Papel comercial
Factura de compra Fecha : 12/05/06 Numero : 154863 Vendedor : Pedro Valor : 120000 Comprador: Juan Ingresar Datos, Modificar Datos, Consultar, Calcula total, Guardarla
04/02/08 eisc.univalle.edu.co/~jaerma/AYP/

Proceso
Matricula de Sandra Cdigo Est Nombre Curso Crditos Cod curso Adicionar Matricular Cancelar : 0584946 : Sandra : Algorit :3 : 7850745

Caractersticas

Comportamiento

El enfoque de objetos

Definicin de objeto: un objeto es una entidad que representa dentro de un programa algo de interes del mundo real , el cual tiene caractersticas propias que describen su estado y acciones que determinan su comportamiento. Este algo puede ser cualquier cosa animada, inanimada, con materia, sin materia, natural, artificial, un concepto, un proceso, real o abstrato.
eisc.univalle.edu.co/~jaerma/AYP/

04/02/08

El enfoque de objetos

Propiedades del Objeto:

Estado: propiedades estticas y sus valores. Comportamiento: como acta y reacciona en trminos de sus cambios de estado. Identidad: aquella propiedad caracterstica que lo distingue de todos los dems objetos.
eisc.univalle.edu.co/~jaerma/AYP/

04/02/08

Interaccin entre objetos


1. 2.

3.

4.

Forma de ordenar y clasificar los objetos, estructurarlos, relacionarlos No se puede modelar ni programar un problema con todos sus objetos reales y su particularidades: recuerden el concepto de modelo. Para ello recurrimos al poder que nos dan la Generalidad, Abstraccin. La forma ms natural y sencilla de hacerlo, es agrupando los objetos que presentan caractersticas similares en conjuntos que los representan (clases) y a traves del paso de mensajes entre objetos.
eisc.univalle.edu.co/~jaerma/AYP/

04/02/08

Interaccin entre objetos

Un mensaje: es un estimulo que recibe un objeto, a fin de activarlo y generar una reaccin. Es recibir de otro objeto una seal a la cual deba responder con una accin determinada. Ejemplo: una persona cambiando de canal. En este escenario se puede ver claramente que, existen objetos que se relacionan con otros por medio de mensajes. Estos mensajes activan los mtodos respectivos de cada objeto.

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Interaccin entre objetos


Relaciones entre objetos. Relacin de uso: Expresan la manera en que unos objetos usan a otros. Formas de uso:

Actor (nunca es operado por los dems) - Objeto que puede operar sobre otros Servidor (nunca opera sobre los dems) - Objeto que puede ser operado por otros. Agente: Objeto que puede operar sobre los dems y tambin puede ser operado por otros.

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Objetos y clases de objetos


Ejemplo: Forma de ordenar y clasificar los objetos, estructurarlos

OBJETO Mesa de noche izq. Mesa de noche der. Tapete negro Ambos son Mesas de noche. Se agrupan en el conjunto MesaDeNoche Pertenece al conjunto Tapete

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

El enfoque de objetos

Clase

En el enfoque de objetos la agrupacin de objetos que tienen caractersticas similares, se denomina Clase. Todos los objetos del mundo real, deben pertenecer a una clase (grupo o conjunto), del cual ellos son un objeto particular.

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Objetos y clases
Agrupacin de lo objetos en Clases

Objeto 2. Mesa de noche izq. 3. Mesa de noche der. 4. Tapete negro 5. Grabadora Sony 600 6. CD de Shakira 7. CD de Juanes 20. Zapatos mocasn caf 21. Correa negra 10. Televisor 19
04/02/08

Clase Mesa de noche Mesa de noche Tapete Grabadora CD de msica CD de msica Zapatos Correa Televisor
eisc.univalle.edu.co/~jaerma/AYP/

El enfoque de objetos

Definiciones de clase

Son una representacin general, de los objetos que se encuentran agrupados en ella. Es la definicin en s, de los objetos que se agrupan en un mismo conjunto Es una abstraccin del concepto objeto.

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

El enfoque de objetos

Un ejemplo: Qu caractersticas tienen los objetos de la clase CdDeMusica? Todo CdDeMusica tiene :

Un titulo del cd, Un nombre del artista Un ao de grabacin Una lista de las canciones incluidas en el cd Un nmero de serie,
eisc.univalle.edu.co/~jaerma/AYP/

04/02/08

El enfoque de objetos

Ejemplo de Clase
Clase Objeto de la clase CdDeMusica

CdDeMusica Titulo del CD Nombre del artista Ao de grabacin Lista de canciones Nmero de serie

cdDeJuanes Mi sangre Juanes 2005 La camisa negra, 9912 343201

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

El enfoque de objetos
Cada objeto de la clase tiene su definicin individual de sus atributos, los cuales toman valores particulares que lo hacen diferente y distinguible de otros. cdDeJuanes Mi sangre Juanes 2005 La camisa negra, 9912 343201
04/02/08

cdDeJuanes Mi sangre Juanes 2005 La camisa negra, 9912 343202

eisc.univalle.edu.co/~jaerma/AYP/

El enfoque de objetos

Los objetos tambin se conocen con el nombre de instancias. CdDeJuanes es una instancia de la clase CdDeMusica.

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

El enfoque de objetos

Clase

Por lo tanto los objetos que pertenecen a una misma clase tienen caractersticas similares. Dicha definicin se deben encontrar definidas en la clase que las agrupa. La clase define las caractersticas comunes a todos los objetos que la conforman
eisc.univalle.edu.co/~jaerma/AYP/

04/02/08

El enfoque de objetos
Atributos de la clase:
La definicin de las caractersticas que definen la clase se llaman atributos.
CdDeMusica Titulo del CD Nombre del artista Ao de grabacin Lista de canciones Nmero de serie
04/02/08

Nombre de la clase

Atributos de la clase, son las caractersticas de los objetos.

eisc.univalle.edu.co/~jaerma/AYP/

El enfoque de objetos
El conjunto de los atributos en la definicin de la clase de denomina Estructura de la clase. La estructura define las caractersticas (atributos) que van a tener los objetos que ella agrupa. CdDeMusica Titulo del CD Nombre del artista Ao de grabacin Lista de canciones Nmero de serie
04/02/08

Estructura de la clase cdDeMusica

eisc.univalle.edu.co/~jaerma/AYP/

El enfoque de objetos
Representacin de la clase
Grabadora EstadoCD EstadoCasete Volumen Encendido Referencia reproducir CD, reproducir casete, aumentar volumen, apagar, encender
04/02/08

Considere de nuevo la clase grabadora, Identifique las operaciones que puede realizar.

Atributos

Estructura Clase

Parte Esttica

Parte Mtodos Comportamiento Clase Dinmica

eisc.univalle.edu.co/~jaerma/AYP/

El enfoque de objetos

Mtodo (implementacin mensaje): representan una operacin o funcin que una clase realiza. Al definir cales son los mtodos que una clase realiza, es necesario tener en cuenta cules son las funciones que los objetos de dicha clase debe tener. Un mtodo ofrece el comportamiento que un objeto presenta cuando le es enviada una seal o mensaje, al cual debe reaccionar. Clasificacin:

Mtodos propios de la clase


Asignacin o lectura de atributos Operaciones que realizan un calculo

Mtodos de reaccin ante eventos externos.


eisc.univalle.edu.co/~jaerma/AYP/

04/02/08

El enfoque de objetos

Clase: Es el molde, la estructura de datos que me permite caracterizar, y crear objetos, que voy a utilizar luego.

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

El enfoque de objetos

Considera el mundo en trmino de interacciones entre objetos, que tienen atributos y comportamiento.

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Relacin entre clases y objetos.

Las clases son estticas, i.e. forman parte del texto del programa y no cambian durante su ejecucin. Los objetos por el contrario son totalmente dinmicos, se crean, cambian su estado y se destruyen.

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Relacin entre clases y objetos.

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Relacin entre clases y objetos.


Clasificacin: forma de ordenar el conocimiento. No existen reglas simples que permitan la mejor seleccin de clases y objetos para generar una clasificacin. Identificar clases y objetos requiere de la aplicacin de nuestras capacidades de descubrir e inventar. Clasificar es agrupar cosas que tienen estructura comn o comportamiento similar. La clasificacin es un proceso difcil, por lo que conviene hacerlo de manera incremental iterativa. Al iniciar el diseo, se define una estructura inicial para las clases. En base a la experiencia adquirida se crean nuevas subclases a partir de las existentes o bien es muy comn que se requiera dividir una clase en otras ms pequeas (pero ms generales), inclusive es posible requerir de la unin de varias clases.
04/02/08 eisc.univalle.edu.co/~jaerma/AYP/

Relaciones entre clases

Forman la estructura del diseo de un sistema.


1.

Jerarquia por composicin, agregacin o estructura


Existen objetos que se componen de otros objetos Este objeto se caracteriza por ser la agrupacin de uno o varios objetos.

Jerarquia de clases o jerarquia Generalizacin/Especializacin (Relacin<<Es_un>>, <<Tipo_de>>)

Tipo de agrupacin, en donde una clase general agrupa las caractersticas que otras clases poseen, independientemente de las caractersticas particulares que las clases a ser agrupadas posean.

3.

Asociacin o uso
eisc.univalle.edu.co/~jaerma/AYP/

04/02/08

Relacin entre clases


Jerarquia por composicin, agregacin o estructura Grabadora marca Referencia Dueo 2 objetos Caseteras 1 objeto Antena 1 objeto Lector de CD reproducir CD apagar
04/02/08

grabadoraSony600 Sony El objeto pasa a ser un atributo de 600 la clase Oscar casetera1-Serie S431 casetera2-Serie S432 antena Serie-A170 lector Serie L190 reproducir CD apagar
eisc.univalle.edu.co/~jaerma/AYP/

Relacin entre clases

Jerarquia de clases o jerarquia Generalizacin/Especializacin (Relacin<<Es_un>>, <<Tipo_de>>)

MedioDeTransporte es una superclase

MedioDeTransporte Referencia Precio Distancia recorrida Capacidad de pasajeros

Avin es una subclase

Encender Apagar

Carro es-un MedioDeTransporte

Avion Velocidad de despeje Ubicacin de la caja negra Aumentar altura

Carro objeto Palanca de cambios objeto Llanta de repuesto Retroceder eisc.univalle.edu.co/~jaerma/AYP/

04/02/08

Relacin entre clases

Jerarquia de clases
Televisor Marca Referencia Tipo Pantalla Dimensin Pantalla Encender Apagar Cambiar canal teleSony Sony Sony-600-023 Cristal liquido 19 teleLG LG LG-401-652 TRC 15

Aqu no se presenta la relacin es-un, por qu?

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Relacin entre clases


Jerarquia de clases
Televisor Marca Referencia Dimensin Pantalla Encender Apagar Cambiar canal TelevisorCL Tipo Cristal liquido Ajustar contenedor cristal TelevisorTRC Tipo TRC Sincronizar haces de luz

Aqu se presenta o no la relacin es-un?

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Relacin entre clases


Jerarquia de clases
Cuaderno Marca Cantidad pginas precio Tipo encuadernacin Mantener apuntes CuadernoCuadricul ado Tipo de hoja CuadernoLineaCor riente Tipo de hoja Aqu se presenta o no la relacin es-un?

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Relacin entre clases


Jerarquia de clases
Electrodomsticos Marca Precio Dueo Tiempo de garanta Encender apagar Nevera Dimensiones congelador Dimensiones enfriador Congelar enfriar 04/02/08 eisc.univalle.edu.co/~jaerma/AYP/ ReprodutorDVD Tipo lector DVD Reproducir DVD Reproducir MP3

Aqu se presenta o no la relacin es-un?

Relacin entre clases


1.

Asociacin o uso
Martillo Marca precio Material del mango

Persona Nombre Cedula Edad Sexo

usa

Caminar Correr Comer

Golpear Sacar puntilla

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

El enfoque de objetos

Propiedades de la POO

Abstraccin Encapsulamiento Modularidad Jerarquizacin Polimorfismo

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Propiedades de al POO

Abstraccin: abstracto, abstraer.


Aislarse de la realidad fsica con el pensamiento. Arte abstracto: rep no convencional de la realidad Matemticas: nmeros, algebra no expresan la ndole de su naturaleza. Considerar un objeto en su esencia.

En el enfoque a Objetos la abstraccin consiste en la identificacin de objetos dentro del problema que se esta estudiando, identificar cmo esos objetos estn agrupados en clases segn las similitudes que ellos tengan, en cuanto a la estructura y el comportamiento que posean, as como de las relaciones entre ellos.
eisc.univalle.edu.co/~jaerma/AYP/

04/02/08

Propiedades de al POO

Encapsulamiento: es la propiedad que permite incluir en un mismo espacio los elementos identificables en un objeto, los que constituyen su informacin (datos o atributos) y su comportamiento (mtodos, funciones o operaciones) que opera sobre esa informacin. Dentro de la clase esta todo lo que requieren los objetos para existir como tales.

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Propiedades de al POO

Modularidad: es la propiedad que caracteriza a las aplicaciones de software que se pueden definir como la agregacin de partes ms pequeas (componentes o mdulos), donde cada una de esas partes es lo ms independiente posible de las otras y de la aplicacin en su conjunto. Hace que las modificaciones al sistema se realizen facilmente y sin complicaciones.

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Propiedades de al POO

Jerarquizacin: es la propiedad que permite organizar en un problema determinado, las clases que se estn identificando dentro de una jerarqua existente, o dentro de una nueva.

Jerarqua de generalizacin/especializacin Jerarqua por composicin o agregacin.

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Propiedades de al POO

Polimorfismo: Es la propiedad que indica que un elemento puede tomar diferentes formas. Para la POO, el elemento puede ser un atributo, un mtodo o un operador. Esta propiedad permite hacer referencia bajo la misma forma a elementos de diferentes clases y a operaciones que, teniendo el mismo nombre pueden realizarse de diferentes formas dependiendo de la clase que est realizando la operacin.

Sobrecarga de mtodos: desde el punto de vista de los mtodos, permite que objetos diferentes puedan responder de modo diferente al mismo mensaje. Esto elimina la necesidad de mtodos totalmente distintos que en esencia hacen lo mismo. Sobrecarga de operadores: dependiendo del tipo de datos sobre el que actua realiza una operacin diferente.

04/02/08

eisc.univalle.edu.co/~jaerma/AYP/

Tarea

Lecturas Tema evaluacin


En que consiste la Interaccin de objetos? Modelacin con el enfoque O.O Que son las clases?

Organizacin y relacin entre clases.

Propiedades del enfoque O.O


eisc.univalle.edu.co/~jaerma/AYP/

04/02/08

También podría gustarte