Sei sulla pagina 1di 4

INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS Inga. MSc.

Patricia Hayde Estrada de Lpez Ciclo II / 2006 Programacin estructurada o convencional Programacin orientada a objetos Objeto Caractersticas de los objetos Propiedades de los objetos Definicin de objeto Clases Mensajes Programa orientado a objetos Herencia Polimorfismo Ingeniera de Software y ciclo de vida Programacin Convencional procedimientos y datos. Cada procedimiento es un componente que realiza una tarea especfica tal como convertir un conjunto de nmeros o visualizar una ventana. Las estructuras de datos utilizadas en programas son, frecuentemente, globales o se pasan explcitamente con parmetros. En esencia, los datos se tratan separadamente de los procedimientos. Programas Ejemplo de programacin en C #include void main( ) { float x = 123.456; printf(%f %.3f\n\n, x,x); printf(%e %.5e, x,x); } Datos Procedimientos que usan los datos Qu es programacin orientada a objetos? Tcnica de programacin que utiliza objetos como bloque esencial de construccin. Los objetos son como los tipos abstractos de datos. Un tipo abstracto de datos es un tipo de dato definido por el programador junto con un conjunto de operaciones que se pueden realizar sobre ellos. Ejemplo: listas, colas, etc. Programacin OO programa componentes procedimientos y (objetos) datos. Un objeto es una unidad que contiene datos y las funciones que operan sobre esos datos. Elementos de un objeto miembros las funciones que operan sobre los objetos se denominan mtodos y los datos se denominan miembros dato. Qu es un objeto? un objeto es una coleccin de datos, junto con las funciones asociadas, utilizadas para operar sobre esos datos. La potencia real de los objetos reside en las propiedades que soportan: herencia, encapsulacin (o encapsulamiento) y polimorfismo junto con los conceptos de objetos, clases, mtodos y mensajes. Qu es un objeto? Los humanos pensamos en trminos de objetos. La abstraccin nos permite ver imgenes en pantalla como personas, edificios, rboles y animales, en vez de verlos como puntos de colores individuales( o pixeles). Qu es un Objeto? La respuesta es cualquier entidad del mundo real que se pueda imaginar. Objetos fsicos:

Qu es un objeto? Elementos de interfaces grficos de usuarios Ventanas. Iconos. Mens. Objetos grficos (lneas, rectngulos, etc.) Ratones. Teclados. Qu es un objeto? Estructuras de datos Arreglos. Pilas. Colas. Arboles binarios. Nmeros complejos. Hora del da. Puntos de un plano. Tipos de datos definidos por el usuario Caractersticas de los Objetos Se agrupan en tipos denominados clases. Contienen datos internos que definen su estado actual. Soportan ocultacin de datos. Pueden heredar propiedades de otros objetos. Pueden comunicarse con otros objetos enviando o pasando mensajes. Tienen mtodos que definen su comportamiento. Los objetos tienen una propiedad que se conoce como ocultamiento de informacin; aunque estos pueden saber cmo comunicarse con los dems objetos a travs de interfaces bien definidas, generalmente no se les permite saber cmo estn implementados los otros objetos. Definicin de objetos. Un objeto es una unidad que contiene datos y las funciones que operan sobre esos datos. encapsulacin (encapsulamiento) de datos y ocultacin de datos. Los datos y las funciones se encapsulan en una nica entidad: objeto. Nombre Representacin grfica: ATRIBUTOS FUNCIONES O METODOSCLASES Una clase es un tipo definido por el usuario que determina las estructuras de datos y las operaciones asociadas con ese tipo. Son como plantillas o modelos. Cuando se construye un objeto de una clase, se crea una instancia de clase. Instancia de clase = objeto Mensajes Un mensaje es simplemente la peticin de un objeto a otro objeto para que se se comporte de una determinada manera, ejecutando uno de sus mtodos. Paso de mensajes: invocacin o llamada de un mtodo de un objeto. Mensajes Mensaje test Objeto B Objeto A (emisor) (receptor) Resultados (de la ejecucin del mtodo test )

Paso de mensajes entre objetos. Mensajes Alguna vez ha dejado por error un mensaje en el contestador automtico de la persona equivocada? Cuando la mquina dijo Hola, no puedo atender su llamada ahora mismo, pero si deja un mensaje Usted respondi, Hola, soy yo. Por favor ven a SP105 ahora mismo. Por supuesto, no ocurre nada, porque el receptor de su mensaje no lo reconoce. De forma similar, no se puede enviar un mensaje a una clase de objeto a menos que est programado para manejar el mensaje. Es decir, debe contener un mtodo conforme con el mensaje. Enviar un mensaje a una clase objeto es la forma de ejecutar el mtodo correspondiente y si no hay ningn mtodo conforme a ese mensaje, no ocurre nada. Programa Orientado a Objetos Un programa tpicamente consta de un nmero de objetos que se comunican entre s mediante mtodos. Un programa orientado a objetos es una coleccin de clases. Se necesita una funcin principal que cree objetos y comience la ejecucin mediante la invocacin de sus mtodos. Programa OO Cuando se ejecuta un programa OO, ocurre: 1. Se crean los objetos cuando se necesitan, 2. Los mensajes se envan desde unos objetos y se reciben en otros, a medida que el programa procesa internamente informacin o responde a la entrada del usuario. 3. Se borran los objetos cuando ya no son necesarios y se recupera la memoria ocupada por ellos. Herencia Es la propiedad que permite a los objetos construirse a partir de otros objetos. Ejemplo:-Mamferos Animales -Anfibios -Insectos -Pjaros, etc. Herencia El principio de este tipo de divisin es que cada subclase comparte caractersticas comunes con la clase de la que se deriva. Adems de las caractersticas compartidas con otros miembros de la clase, cada subclase tiene sus propias caractersticas particulares. Herencia Clase Clase base Caracterstica A Caracteristica B Sub Cla se Clase Der-1 Caracterstica A Caracterstica B Caracterstica C Clase Der-2 Caracterstica A Caracterstica B Caracterstica D Clase Der-3 Caracterstica A Caracterstica B Caracterstica F Herencia La herencia permite definir nuevas clases a partir de clases ya existentes. La herencia impone una relacin jerrquica entre clases en la cual una clase hija hereda de su clase padre. Herencia simple: la clase solo puede recibir caractersticas de otra clase base. Herencia mltiple: la clase recibe propiedades de mas de una clase base.

Polimorfismo Polimorfismo: significa la cualidad de tener ms de una forma. Polimorfismo es la capacidad del cdigo de un programa para ser utilizado con diferentes tipos de datos u objetos. Tambin se puede aplicar a la propiedad que poseen algunas operaciones de tener un comportamiento diferente dependiendo del objeto (o tipo de dato) sobre el que se aplican. Polimorfismo Ejemplo: Operacin sumar. En un lenguaje de programacin el operador + representa la suma de dos numeros ( x + y ) de diferentes tipos: enteros, flotantes. O adems, se puede definir la operacin de sumar dos cadenas: concatenacin. De modo similar: suponiendo un numero de figuras geomtricas que responden todas al mensaje Calcular_superficie. Cada objeto reacciona a este mensaje haciendo el calculo correspondiente de la superficie, el cual difiere de una figura a otra. Polimorfismo FiguraGeo metrica Calcular_su perficie Cuadrado Lado m (Calcular_su perficie) Crculo Radio r (Calcular_su perficie) Rectngulo Lados x, y (Calcular_su perficie) Tringulo Base y altura (Calcular_su perficie) Polimorfismo El concepto de polimorfismo se puede aplicar tanto a funciones como a tipos de datos. As nacen los conceptos de funciones polimrficas y tipos polimrficos. Las funciones polimrficas son aquellas funciones que pueden evaluarse y/o ser aplicadas a diferentes tipos de datos de forma indistinta; y los tipos polimrficos, por su parte, son aquellos tipos de datos que contienen al menos un elemento cuyo tipo no est especificado. Ingeniera del Software La secuencia de etapas desde la concepcin hasta el funcionamiento del programa es lo que se llama ciclo de vida del software, y La aplicacin de una aproximacin disciplinada y sistemtica al desarrollo, prueba y mantenimiento de un programa es lo que se denomina ingeniera del software. Ingeniera del Sw Anlisis Diseo Codificacin Pruebas y Operacin Fases Principales Fuentes: http://es.wikipedia.org/wiki/Polimorfismo_%28programaci%C3%B3n_orientada_a_objetos %29 Java Cmo Programar. Quinta Edicin. Deitel y Deitel. Pearson Educacion, 2004. Captulo 1. Introduccin a la Programacin Orientada a Objetos con Java. C. Thomas Wu, McGraw Hill, 2001, Captulo 1.

Potrebbero piacerti anche