PROGRAMACIÓN ORIENTADA A OBJETOS < ADRIÁN BETANCOURT> < VICTOR CUAURO> <ROBERT SÁNCHEZ> <YASSON ESPINOZA> ÍNDICE • Programación orientada a objetos (POO) • Técnicas de prototipo de desarrollo rápido • Elementos de la POO • • • • • Objetos Atributos Mensajes Clases Instanciación DEFINICIÓN • La programación Orientada a Objetos es una metodología que basa la estructura de los programas en torno a los objetos. Los lenguajes de POO ofrecen medios y herramientas para describir los objetos manipulados por un programa. Más que describir cada objeto individualmente, estos lenguajes proveen una construcción (Clase) que describe a un conjunto de objetos que poseen las mismas propiedades. • ¿Cómo pensar en objetos? Pensar en términos de objetos es pensar de manera natural como lo haríamos en la vida real. Por ejemplo al pensar en un coche para modelarlo en un esquema de POO. Diríamos que el coche es el elemento principal que tiene una serie de características, como podrían ser el color, el modelo o la marca. Además tiene una serie de funcionalidades o métodos asociados al mismo, como pueden ser ponerse en marcha, parar o acelerar. TÉCNICAS DE PROTOTIPO DE DESARROLLO RÁPIDO • Los prototipos de vialidad se utilizan para probar la vialidad de una tecnología específica aplicable a un sistema de información. • Los prototipos de necesidades (a veces denominados de descubrimiento) se utilizan para descubrir las necesidades de los usuarios con respecto a la empresa. Pueden simular la forma de pensar de los usuarios. Su base es sencilla: los usuarios reconocerán sus necesidades cuando las vean, durante la elaboración de diseños de necesidades, el analista puede pintar pantallas o informes de muestra, y solicitar las opiniones del usuario con respecto a su contenido. ELEMENTOS DE LA POO • Objetos: contienen toda la información que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos de una misma clase, al poder tener valores bien diferenciados en sus atributos). • Atributos: Los atributos son las características individuales que diferencian un objeto de otro y determinan su apariencia, estado u otras cualidades. Los atributos se guardan en variables denominadas de instancia, y cada objeto particular puede tener valores distintos para estas variables. Las variables de instancia también denominados miembros dato, son declaradas en la clase pero sus valores son fijados y cambiados en el objeto. • Los atributos del objeto (estado) y lo que el objeto puede hacer (comportamiento) están expresados por las variables y los métodos que componen el objeto respectivamente. Por ejemplo, un objeto que modelase una bicicleta en el mundo real tendría variables que indiciarían el estado actual de la bicicleta: su velocidad es de 20 km/h, su cadencia de pedaleo 90 r.p.m. y su marcha actual es la 5ª. Estas variables se conocen formalmente como variables instancia o variables miembro porque contienen el estado de un objeto bicicleta particular y, en programación orientada a objetos, un objeto particular se denomina una instancia. • Mensajes: Corresponde a la forma que tienen los objetos para comunicarse entre sí, de esta forma, el objeto que activa el mensaje se llama objeto emisor y el que lo recibe objeto receptor. Cabe señalar que un mensaje debe ser activado o generado desde un método hacia un objeto. En términos generales equivale a la llamada a un procedimiento o función. Los objetos de un programa interactúan y se comunican entre ellos por medio de mensajes. Cuando un objeto A quiere que otro objeto B ejecute una de sus funciones miembro (métodos de B), el objeto A manda un mensaje al objeto B • La siguiente figura muestra las tres partes que componen un mensaje: 1. El objeto al cual se manda el mensaje (TuBicicleta). 2. El método o función miembro que debe ejecutar (CambiarDeMarcha). 3. Los parámetros que necesita ese método (Marcha) • Clase: Una clase es una plantilla que define las variables y los métodos que son comunes para todos los objetos de un cierto tipo. En nuestro ejemplo, la clase bicicleta definiría variables miembro comunes a todas las bicicletas, como la marcha actual, la cadencia actual, etc. Esta clase también debe declarar e implementar los métodos o funciones miembro que permiten al ciclist cambiar de marcha, frenar, y cambiar la cadencia de pedaleo, como se muestra en la siguiente figura: • Herencia: El mecanismo de herencia permite definir nuevas clases partiendo de otras ya existentes. Las clases que derivan de otras heredan automáticamente todo su comportamiento, pero además pueden introducir características particulares propias que las diferencian