Sunteți pe pagina 1din 19

Modelo orientado a objetos

Para qu un modelo orientada a objetos?


Las tcnicas de orientacin a objetos pretenden satisfacer tanto las necesidades de los usuarios nales como las de los desarrolladores de software mediante una cierta capacidad de modelar el mundo real.

Necesidad de este paradigma: los usuarios demandan programas y entornos de trabajo simples y fciles de usar. Implicaciones: mayor nmero de lneas de cdigo que es necesario organizar, gestionar y mantener.

Proporciona mejores herramientas para: Obtener un modelo del mundo real cercano a la perspectiva del usuario. Interaccionar fcilmente con un entorno de computacin, empleando metforas familiares. Facilitar la modicacin y la extensin de los componentes sin codicar de nuevo desde cero.

Caractersticas de Programacin Orientada a Objetos


La programacin tradicional est orientada a los procedimientos. En la programacin orientada a objetos las entidades centrales son los datos (objetos):
Los objetos se comunican entre s mediante el uso de mensajes y el conjunto de objetos que responden a los mismos mensajes se implementan mediante clases. La clase describe e implementa todos los mtodos que capturan el comportamiento de sus instancias. La implementacin est totalmente oculta (encapsulada) dentro de la clase, de modo que puede ser extendida y modicada sin afectar al usuario. Una clase es como un mdulo. Sin embargo, tambin es posible extender y especializar una clase (mecanismo de herencia).

mbito del modelo orientado a objetos


Los principios de la tecnologa orientada o objetos se aplican a todos los aspectos del proceso de desarrollo del software: Metodologa. Herramientas de diseo y anlisis. Interfaces de usuario. Lenguajes de programacin. Bases de datos. Sistemas operativos.

Terminologa comn y principios bsicos


Modularizacin Mdulos fciles de manejar y que comprenden las estructuras de datos y las operaciones permisibles. Encapsulado Distingue entre la interface a un objeto (qu es lo que hace), de la implementacin (cmo lo hace). Tipos de datos abstractos Agrupa todos los objetos que tienen la misma interface y los trata como si fueran del mismo tipo.

Herencia Reutilizacin, ya que permite denir nuevos tipos en funciones de otros tipos. El nuevo tipo hereda las estructuras de datos y los mtodos del tipo precedente.

Mensajes Un objeto lleva a cabo sus acciones cuando recibe un mensaje concreto, codicado de una forma simple, estndar e independiente de cmo o dnde est implementado el objeto. Polimorsmo Diferentes objetos responden al mismo mensaje. El sistema determina en tiempo de ejecucin qu cdigo invocar dependiendo del tipo de objeto.

Conceptos de objeto
Un objeto es un concepto, abstraccin o cosa que tiene un cierto signicado para una aplicacin. Se presentan como nombres propios o referencias especcas en la descripcin o discusin de un problema: Algunos objetos tienen una entidad real (por ejemplo una empresa). Otros son entidades conceptuales (por ejemplo, la frmula para resolver una ecuacin de segundo grado). Existen objetos que se introducen por razones de implementacin y carecen de equivalencia en la realidad fsica (por ejemplo, un rbol binario)

Conceptos de objeto
Cada objeto tiene existencia propia y puede ser identicado. Se ha denido la identidad como: aquella propiedad de un objeto que lo distingue del resto de objetos En la etapa de anlisis de una aplicacin es posible dar por supuesto que los objetos tienen identidad. En el diseo, es necesario adoptar una metodologa para implementar dicha identidad (direcciones de memoria, cdigos numricos o una combinacin de los valores de ciertos atributos). Esta nocin de identidad es una parte integral y muy importante de la tecnologa orientada a objetos

Cuando se construye un modelo es necesario decidir qu objetos mostrar y cuales ignorar. Un objeto representa slo los aspectos relevantes de un problema. No resulta til modelar detalles irrelevantes o extraos, ya que el mbito de un objeto depende slo de qu necesita la aplicacin.

Todo objeto del mundo real tiene 2 componentes: caracterstica y comportamiento.

Un_objeto -marca: Samsung -modelo: Galaxy S3

+llamar():void +colgar(): void

Concepto de clase
Una Clase es la descripcin de un grupo de objetos con: Propiedades similares (atributos del objeto). Comportamiento (operaciones y diagramas de estado) y semntica comn. Y que establecen el mismo tipo de relaciones con otros objetos.

Las clases proporcionan un mecanismo para compartir la estructura entre objetos similares.

Una clase es una plantilla genrica para un conjunto de objetos de similares caractersticas.

Un_objeto
-marca: Samsung -modelo: Galaxy S3 +llamar():void +colgar(): void

celular -marca: String -modelo:String +llamar():void +colgar(): void

Concepto de Herencia
La generalizacin es la relacin estructural que permite la existencia del mecanismo de herencia. Una subclase hereda los atributos, operaciones, diagramas de estado y asociaciones de su superclase. Las propiedades heredadas pueden reutilizarse o redenirse en la subclase. La subclase puede denir nuevas propiedades no presentes en la superclase. La generalizacin simple es otro trmino para herencia simple. El caso en el que una subclase tiene mltiples superclases inmediatas se denomina herencia mltiple.

Bsicamente, la herencia consiste en que una clase puede heredar sus variables y mtodos a varias subclases.
CLASE A

CLASE B

CLASE C

CLASE D

CLASE E

La clase A es la superclase de B La clase B es la subclase de A La clase B es la superclase de C, D y E La clase C, D y E son subclases de B

Mensajes
Los objetos se comunican e interaccionen entre s por medio de mensajes. Si un objeto desea que otro objeto haga algo le enva un mensaje que puede tener informacin adicional en forma de parmetros.

Cuando un objeto recibe un mensaje ejecutar un mtodo u operacin.

Componentes de un mensaje:
o Objeto destinatario del mensaje (miCoche) o Mtodo que se debe ejecutar como respuesta (cambiar marcha) o Parmetros necesarios del mtodo (segunda)

o Acciones que puede realizar un objeto: METODOS PARMETROS o Arrancar motor o Parar motor o Acelerar o Frenar o Girar a la derecha (grados) o Girar a la izquierda (grados) o Cambiar marcha (nueva marcha)

Fuentes
T. Budd, An introduction to Object-Oriented Programming (Third Edition). Pearson Education, 2001 B. Meyer, Object-Oriented Software Construction (Second Edition). Prentice Hall, 2005 Facultad de Informtica: Universidad Complutense de Madrid. http://www.fdi.ucm.es/profesor/jpavon/poo/1.1.Ob jetos%20y%20Clases.pdf

S-ar putea să vă placă și