You are on page 1of 11

Repblica Bolivariana de Venezuela Ministerio del Poder Popular para la Defensa Universidad Nacional Experimental Politcnica de la Fuerzas Armadas

VI semestre, Seccin A, Ingeniera en sistema. Tucupita, Estado Delta Amacuro

Profesor: Ing. Seccin A

Alumnos: Aponte Florangel Cuffaro Yhonny Evalina Rivas Joneisys Rondon

Tucupita, Octubre de 2012

NDICE

Introduccin Programacin orientada a objetos Conceptos bsicos Caractersticas de la POO Conclusin Bibliografa...

03 04 04

INTRODUCCIN

La programacin orientada a objetos es una forma de desarrollar un sistema, pensando en las entidades principales del problema que dicho sistema pretende resolver donde el lenguaje de programacin es la herramienta para resolver el problema. El propsito de la POO no tiene que ver con el lenguaje de programacin si no que consiste en proporcionar una solucin informtica identificando los conceptos relevantes presentes en el problema como: Identificar los conceptos relevantes o las entidades involucradas, reconocer las caractersticas de estos y las acciones que realizan o bien que producen algn efecto sobre ellos Con respecto a los lenguajes de programacin cada uno usa la herramienta en que ms hbil se considere, el problema finalmente no cambia. De acuerdo a la situacin con una u otra herramienta se nos hace ms o menos difcil y de acuerdo al escenario se debe elegir una u otra herramienta de trabajo

PROGRAMACIN ORIENTADA A OBJETO (POO) La programacin Orientada a Objetos es una metodologa 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. Ms que describir cada objeto individualmente, estos lenguajes proveen una construccin (Clase) que describe a un conjunto de objetos que poseen las mismas propiedades. CONCEPTOS FUNDAMENTALES OBJETO Es una entidad (tangible o intangible) que posee caractersticas y acciones que realiza por s solo o interactuando con otros objetos. Un objeto es una entidad caracterizada por sus atributos propios y cuyo comportamiento est determinado por las acciones o funciones que pueden modificarlo, as como tambin las acciones que requiere de otros objetos. Un objeto tiene identidad e inteligencia y constituye una unidad que oculta tanto datos como la descripcin de su manipulacin. Puede ser definido como una encapsulacin y una abstraccin: una encapsulacin de atributos y servicios, y una abstraccin del mundo real. Para el contexto del Enfoque Orientado a Objetos (EOO) un objeto es una entidad que encapsula datos (atributos) y acciones o funciones que los manejan (mtodos). Tambin para el EOO un objeto se define como una instancia o particularizacin de una clase. Los objetos de inters durante el desarrollo de software no slo son tomados de la vida real (objetos visibles o tangibles), tambin pueden ser abstractos. En general son entidades que juegan un rol bien definido en el dominio del problema. Un libro, una persona, un carro, un polgono, son apenas algunos ejemplos de objeto. Cada objeto puede ser considerado como un proveedor de servicios utilizados por otros objetos que son sus clientes. Cada objeto puede ser a la vez proveedor y cliente. De all que un programa pueda ser visto como un conjunto de relaciones entre proveedores clientes. Los servicios ofrecidos por los objetos son de dos tipos: 1.- Los datos, que llamamos atributos. 2.- Las acciones o funciones, que llamamos mtodos. Caractersticas Generales Un objeto se identifica por un nombre o un identificador nico que lo diferencia de los dems. Ejemplo: el objeto Cuenta de Ahorros nmero 12345 es diferente al objeto Cuenta de Ahorros nmero 25789. En este caso el identificador que los hace nicos es el nmero de la cuenta. Un objeto posee estados. El estado de un objeto est determinado por los valores que poseen sus atributos en un momento dado.

Un objeto tiene un conjunto de mtodos. El comportamiento general de los objetos dentro de un sistema se describe o representa mediante sus operaciones o mtodos. Los mtodos se utilizarn para obtener o cambiar el estado de los objetos, as como para proporcionar un medio de comunicacin entre objetos. Un objeto tiene un conjunto de atributos. Los atributos de un objeto contienen valores que determinan el estado del objeto durante su tiempo de vida. Se implementan con variables, constantes y estructuras de datos (similares a los campos de un registro) Los objetos soportan encapsulamiento. La estructura interna de un objeto normalmente est oculta a los usuarios del mismo. Los datos del objeto estn disponibles solo para ser manipulados por los propios mtodos del objeto. El nico mecanismo que lo conecta con el mundo exterior es el paso de mensajes. Un objeto tiene un tiempo de vida dentro del programa o sistema que lo crea y utiliza. Para ser utilizado en un algoritmo el objeto debe ser creado con una instruccin particular (New Nuevo) y al finalizar su utilizacin es destruido con el uso de otra instruccin o de manera automtica CLASE La clase es la unidad de modularidad en el EOO. La tendencia natural del individuo es la de clasificar los objetos segn sus caractersticas comunes (clase). Por ejemplo, las personas que asisten a la universidad se pueden clasificar (haciendo abstraccin) en estudiante, docente, empleado e investigador. La clase puede definirse como la agrupacin o coleccin de objetos que comparten una estructura comn y un comportamiento comn. Es una plantilla que contiene la descripcin general de una coleccin de objetos. Consta de atributos y mtodos que resumen las caractersticas y el comportamiento comunes de un conjunto de objetos. Todo objeto (tambin llamado instancia de una clase), pertenece a alguna clase. Mientras un objeto es una entidad concreta que existe en el tiempo y en el espacio, una clase representa solo una abstraccin. Todos aquellos objetos que pertenecen a la misma clase son descritos o comparten el mismo conjunto de atributos y mtodos. Todos los objetos de una clase tienen el mismo formato y comportamiento, son diferentes nicamente en los valores que contienen sus atributos. Todos ellos responden a los mismos mensajes. Su sintaxis algortmica es: Clase <Nombre de la Clase> FClase <Nombre de la Clase>;

Caractersticas Generales Una clase es un nivel de abstraccin alto. La clase permite describir un conjunto de caractersticas comunes para los objetos que representa. Ejemplo: La clase Avin se puede utilizar para definir los atributos (tipo de avin, distancia, altura, velocidad de crucero, capacidad, pas de origen, etc.) y los mtodos (calcular posicin en el vuelo, calcular velocidad de vuelo, estimar tiempo de llegada, despegar, aterrizar, volar, etc.) de los objetos particulares Avin que representa. Un objeto es una instancia de una clase. Cada objeto concreto dentro de un sistema es miembro de una clase especfica y tiene el conjunto de atributos y mtodos especificados en la misma Las clases se relacionan entre s mediante una jerarqua. Entre las clases se establecen diferentes tipos de relaciones de herencia, en las cuales la clase hija (subclase) hereda los atributos y mtodos de la clase padre (superclase), adems de incorporar sus propios atributos y mtodos. Ejemplos, Superclase: Clase Avin Subclases de Avin: Clase Avin Comercial, Avin de Combate, Avin de Transporte Los nombres o identificadores de las clases deben colocarse en singular (clase Animal, clase Carro, clase Alumno). Relacin entre Clase y Objeto Algortmicamente, las clases son descripciones netamente estticas o plantillas que describen objetos. Su rol es definir nuevos tipos conformados por atributos y operaciones. Por el contrario, los objetos son instancias particulares de una clase. Las clases son una especie de molde de fbrica, en base al cual son construidos los objetos. Durante la ejecucin de un programa slo existen los objetos, no las clases. La declaracin de una variable de una clase NO crea el objeto. La asociacin siguiente: <Nombre_Clase> <Nombre_Variable>; (por ejemplo, Rectngulo R), no genera o no crea automticamente un objeto Rectngulo. Slo indica que R ser una referencia o una variable de objeto de la clase Rectngulo. La creacin de un objeto, debe ser indicada explcitamente por el programador, de forma anloga a como inicializamos las variables con un valor dado, slo que para los objetos se hace a travs de un mtodo Constructor (ver punto Mtodos). ATRIBUTO Son los datos o variables que caracterizan al objeto y cuyos valores en un momento dado indican su estado.

Un atributo es una caracterstica de un objeto. Mediante los atributos se define informacin oculta dentro de un objeto, la cual es manipulada solamente por los mtodos definidos sobre dicho objeto Un atributo consta de un nombre y un valor. Cada atributo est asociado a un tipo de dato, que puede ser simple (entero, real, lgico, carcter, string) o estructurado (arreglo, registro, archivo, lista, etc.) Su sintaxis algortmica es: Atributo>; <Modo de Acceso> <Tipo de dato> <Nombre del

Los modos de acceso son: Pblico: Atributos (o Mtodos) que son accesibles fuera de la clase. Pueden ser llamados por cualquier clase, aun si no est relacionada con ella. Este modo de acceso tambin se puede representar con el smbolo + Privado: Atributos (o Mtodos) que slo son accesibles dentro de la implementacin de la clase. Tambin se puede representar con el smbolo Protegido: Atributos (o Mtodos) que son accesibles para la propia clase y sus clases hijas (subclases). Tambin se puede representar con el smbolo # MTODO Son las operaciones (acciones o funciones) que se aplican sobre los objetos y que permiten crearlos, cambiar su estado o consultar el valor de sus atributos. Los mtodos constituyen la secuencia de acciones que implementan las operaciones sobre los objetos. La implementacin de los mtodos no es visible fuera de objeto. La sintaxis algortmica de los mtodos expresados como funciones y acciones es: Para funciones se pueden usar cualquiera de estas dos sintaxis: <Modo de Acceso> Funcin <Nombre> [(Lista Parmetros)]: <Descripcin del Tipo de datos> Para acciones: <Modo de Acceso> Accin <Nombre> [(Lista Parmetros)] son opcionales donde los parmetros

Ejemplo: Un rectngulo es un objeto caracterizado por los atributos Largo y Ancho, y por varios mtodos, entre otros Calcular su rea y Calcular su permetro. Caractersticas Generales Cada mtodo tiene un nombre, cero o ms parmetros (por valor o por referencia) que recibe o devuelve y un algoritmo con el desarrollo del mismo.

En particular se destaca el mtodo constructor, que no es ms que el mtodo que se ejecuta cuando el objeto es creado. Este constructor suele tener el mismo nombre de la clase/ objeto, pero aunque es una prctica comn, el mtodo constructor no necesariamente tiene que llamarse igual a la clase (al menos, no en pseudos-cdigo). Es un mtodo que recibe cero o ms parmetros y lo usual es que inicialicen los valores de los atributos del objeto. En lenguajes como Java y C++ se puede definir ms de un mtodo constructor, que normalmente se diferencian entre s por la cantidad de parmetros que reciben. Los mtodos se ejecutan o activan cuando el objeto recibe un mensaje, enviado por un objeto o clase externo al que lo contiene, o por el mismo objeto de manera local. Creacin de Objetos y Mtodos Constructores: Cada objeto o instancia de una clase debe ser creada explcitamente a travs de un mtodo u operacin especial denominado Constructor. Los atributos de un objeto toman valores iniciales dados por el constructor. Por convencin el mtodo constructor tiene el mismo nombre de la clase y no se le asocia un modo de acceso (es pblico). Algunos lenguajes proveen un mtodo constructor por defecto para cada clase y/o permiten la definicin de ms de un mtodo constructor. Mtodo de Destructores de objetos: Los objetos que ya no son utilizados en un programa, ocupan intilmente espacio de memoria, que es conveniente recuperar en un momento dado. Segn el lenguaje de programacin utilizado esta tarea es dada al programador o es tratada automticamente por el procesador o soporte de ejecucin del lenguaje. En la notacin algortmica NO tomaremos en cuenta ese problema de administracin de memoria, por lo tanto no definiremos formas para destruir objetos. En cambio al utilizar lenguajes de programacin si debemos conocer los mtodos destructores suministrados por el lenguaje y utilizarlos a fin de eliminar objetos una vez no sean tiles. MENSAJE Es la peticin de un objeto a otro para solicitar la ejecucin de alguno de sus mtodos o para obtener el valor de un atributo pblico. Estructuralmente, un mensaje consta de 3 partes: Identidad del receptor: Nombre del objeto que contiene el mtodo a ejecutar. Nombre del mtodo a ejecutar: Solo los mtodos declarados pblicos. Lista de Parmetros que recibe el mtodo (cero o ms parmetros) Su sintaxis algortmica es: Parmetros> ] ); <Variable_Objeto>.<Nombre_Mtodo> ( [<Lista de

Cuando el objeto receptor recibe el mensaje, comienza la ejecucin del algoritmo contenido dentro del mtodo invocado, recibiendo y/o devolviendo los valores de los parmetros correspondientes, si los tiene ya que son opcionales: ( [ ] ) CARACTERSTICAS DE LA POO Existe un acuerdo acerca de qu caractersticas contempla la "orientacin a objetos", las caractersticas siguientes son las ms importantes: a) Abstraccin: denota las caractersticas esenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cmo se implementan estas caractersticas. Los procesos, las funciones o los mtodos pueden tambin ser abstrados y cuando lo estn, una variedad de tcnicas son requeridas para ampliar una abstraccin. El proceso de abstraccin permite seleccionar las caractersticas relevantes dentro de un conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real. La abstraccin es clave en el proceso de anlisis y diseo orientado a objetos, ya que mediante ella podemos llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que se quiere atacar. b) Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstraccin. Esto permite aumentar la cohesin de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultacin, principalmente porque se suelen emplear conjuntamente. c) Modularidad: Se denomina Modularidad a la propiedad que permite subdividir una aplicacin en partes ms pequeas (llamadas mdulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicacin en s y de las restantes partes. Estos mdulos se pueden compilar por separado, pero tienen conexiones con otros mdulos. Al igual que la encapsulacin, los lenguajes soportan la Modularidad de diversas formas. d) Principio de ocultacin: Cada objeto est aislado del exterior, es un mdulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especfica cmo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificacin por quien no tenga derecho a acceder a ellas, solamente los propios mtodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no pueden cambiar el estado interno de un objeto de maneras inesperadas, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstraccin. La aplicacin entera se reduce a un agregado o rompecabezas de objetos.

e) Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizar el comportamiento correspondiente al objeto que se est usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocacin de un comportamiento en una referencia producir el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo de ejecucin", esta ltima caracterstica se llama asignacin tarda o asignacin dinmica. Algunos lenguajes proporcionan medios ms estticos (en "tiempo de compilacin") de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++. f) Herencia: las clases no estn aisladas, sino que se relacionan entre s, formando una jerarqua de clasificacin. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en rboles o enrejados que reflejan un comportamiento comn. Cuando un objeto hereda de ms de una clase se dice que hay herencia mltiple. g) Recoleccin de basura: la recoleccin de basura o garbage collector es la tcnica por la cual el entorno de objetos se encarga de destruir automticamente, y por tanto desvincular la memoria asociada, los objetos que hayan quedado sin ninguna referencia a ellos. Esto significa que el programador no debe preocuparse por la asignacin o liberacin de memoria, ya que el entorno la asignar al crear un nuevo objeto y la liberar cuando nadie lo est usando. En la mayora de los lenguajes hbridos que se extendieron para soportar el Paradigma de Programacin Orientada a Objetos como C++ u Object Pascal, esta caracterstica no existe y la memoria debe desasignarse manualmente.

CONCLUSIN
La programacin Orientada a objetos (POO) es una forma especial de programar, ms cercana a como expresaramos las cosas en la vida real que otros tipos de programacin. Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir nuestros programas en trminos de objetos, propiedades, mtodos y otras cosas que veremos rpidamente para aclarar conceptos y dar una pequea base que permita soltarnos un poco con este tipo de programacin

You might also like