Vous êtes sur la page 1sur 2

Qu es un objeto?

Objeto es el concepto clave de la Programacin Orientada a Objetos, la idea de objeto es similar a la del mundo real, un objeto puede ser una silla, una mesa. Tu perro es un objeto. Los objetos tienen dos caractersticas: Un estado y un comportamiento. Fijate que por ejemplo tu perro tiene un estado: nombre, color, raza, altura, etc. y un comportamiento: ladrar, cavar pozo, llorar, dormir, comer, etc. Un auto es un objeto. Tambin tiene un estado: Cantidad de puertas, color, tamao, etc. y un comportamiento: acelerar, frenar, subir cambio, bajar cambio, girar izq., girar der., etc. Entonces podemos definir a un objeto en POO, como un conjunto de datos y funciones relacionadas. A las funciones de los objetos, tales como acelerar en el caso del auto, de aqu en ms las llamaremos mtodos, a los datos los llamaremos atributos. Los objetos en programacin, son modelados observando objetos del mundo real, por ejemplo implementamos el objeto "perro" dentro de nuestro programa definiendo los atributos y mtodos del objeto perro real. El objeto "Auto" se puede representar grficamente como sigue: Un ejemplo mas complicado de un objeto podra ser el siguiente: Objeto: Cuenta bancaria Atributos: tipo, titular, saldo. Mtodos: Depositar, Extraer. Aqu se ve la necesidad de que el atributo "saldo" sea solo accesible a travs de los mtodos "Depositar" y "Extraer" por una cuestin de seguridad, encapsulamiento y para evitar comportamientos indeseados. Qu es una clase? Una clase es algo abstracto que define la "forma" del objeto, se podra hablar de la clase como el molde de los objetos. En el mundo real existen objetos del mismo tipo, por ejemplo tu bicicleta es solo una mas de todas las bicicletas del mundo. Entonces diramos que tu bicicleta es una instancia de la clase "Bicicleta". Todas las bicicletas tienen los atributos: color, cantidad de cambios, dueo y mtodos: acelerar, frenar, pasar cambio, volver cambio. Las fabricas de bicicletas utilizan moldes para producir sus productos en serie, de la misma forma en POO utilizaremos la clase bicicleta (molde) para producir sus instancias (objetos). Los objetos son instancias de clases. Ejemplo: Podramos tener la clase Perro, una instancia de esta clase podra ser el objeto perro llamado "Chicho". La clase Perro especificara que todos los perros tendran un nombre, color de pelo, una altura. Mientras que la instancia "Chicho" contendr valores especficos para cada uno de estos atributos. Podemos definir a una clase como una plantilla que define variables y mtodos comunes para todos los objetos de cierto tipo. Existe un lenguaje de modelado llamado UML mediante el cual podemos representar grficamente todo un sistema orientado a objetos utilizando rectngulos, lneas y otro tipo de

smbolos grficos. Segn UML, la clase "Cuenta Bancaria" antes mencionada se representar grficamente como sigue: Mensajes Un objeto por si solo no tiene mucho significado. Ejemplo: el objeto "bicicleta" no tiene mucho sentido si no interacta con un objeto "persona" que pedalee. La interaccin entre objetos se produce mediante mensajes. Los mensajes son llamados a mtodos de un objeto en particular. Podemos decir que el objeto persona enva el mensaje "girar a la izquierda" al objeto bicicleta. Los mensajes pueden contener parmetros. Por ejemplo teniendo un mtodo en la clase bicicleta llamado "Girar" que recibe como parmetro la direccin (derecha o izquierda). Un mensaje esta compuesto por los siguientes tres elementos: 1. El objeto destino, hacia el cual el mensaje es enviado 2. El nombre del mtodo a llamar 3. Los parmetros solicitados por el mtodo Beneficios de los mensajes Como todo lo que un objeto puede hacer esta expresado mediante mtodos, el envo de mensajes soporta todas las posibles interacciones entre objetos. Para enviar o recibir mensajes, los objetos no necesitan formar parte del mismo proceso, ni siquiera de la misma mquina. Herencia Los sistemas orientados a objetos permiten definir clases en trmino de otras clases. Por ejemplo ovejero alemn y caniche son diferentes razas de perros. En la terminologa orientada a objetos "Ovejero Alemn" y "Caniche" son subclases de la clase perro. De forma similar Perro es la superclase de "Ovejero Alemn". Entonces tenemos la siguiente jerarqua de clases: Cada subclase hereda los atributos de la superclase. Tanto la clase "Ovejero Alemn" como "Caniche" tendrn los atributos nombre, color de pelo, altura definidos en la clase Perro. Una subclase no est limitada nicamente a los atributos de su superclase, tambin puede tener atributos propios, o redefinir algunos definidos anteriormente en la superclase. No se est limitado tampoco a un solo nivel de herencia, se pueden tener todos los que se consideren necesarios. Ejemplo: Clase Empleado hereda de clase Persona, y esta a su vez hereda de clase Animal. Las subclases proveen un comportamiento especializado sobre los elementos comunes provistos por las superclases. Gracias a la herencia, los programadores pueden rehusar cdigo una y otra vez.

Vous aimerez peut-être aussi