Analisis y Diseño Orientado a Objetos
M. en C. Omar Juárez Gambino
Conceptos de la POO
Abstracción Encapsulamiento Herencia Polimorfismo
Herencia
Polimorfismo
Define dos mecanismos (upcasting y downcasting) que otorgan a la POO una gran potencia frente a otros paradigmas de programación Únicamente tiene sentido por la existencia de la herencia El sentido delpolimorfismo (en particular upcasting) es realizar una generalización, olvidar los detalles concretos de uno o varios objetos de distintas clases y buscar un punto común a todos ellos en un ancestro
Ejemplo
PERSONA
ESTUDIANTE
EMPLEADO
PROFESOR
ADMINISTRATIVO
Objetos polimórficos
Un objeto es polimórfico cuando su tipo de declaración no coincide con el tipo de objetoal que referencia:
Persona p1 = new Persona(“Juan”) Persona p2 = new Estudiante (“Pedro”, 7.5)
Castings
Upcasting: interpretar un objeto de una clase derivada como del mismo tipo que la clase base
Esto permite la generalización Permite acceder a los métodos definidos en la clase base
Downcasting: interpretar u objeto de una clase base como del mismo tipo queuna clase derivada suya
Implica una especialización Se utiliza cuando se requiere recuperar el objeto original, para acceder a sus operaciones propias
Enlace dinámico
• Una implementación del polimorfismo se presenta cuando se realiza un enlace dinámico • En el enlace dinámico se elige el método a ejecutar en función de la clase del objeto
Ejemplo
abstract class Shape{ int x,y;abstract public void paint(Graphics g); } class Circle extends Shape{ public void paint(Graphics g){ g.drawCircle(...); } } class Rectangle extends Shape{ public void paint(Graphics g){ g.drawRectangle(...); } } Shape s1 = new Circle(...); Shape s1 = new Circle(...); Shape s2 = new Rectangle(...); Shape s2 = new Rectangle(...); drawShape( s1 ); drawShape( s1 ); drawShape( s2 ); drawShape( s2 );public void drawShape(Shape s){ public void drawShape(Shape s){ Graphics g; Graphics g; .... .... s.paint( g ); s.paint( g ); .... .... } }
METODOLOGÍAS ORIENTADAS A OBJETOS
Introducción
• Actualmente casi todos los países dependen de complejos sistemas informáticos • Infraestructuras nacionales y utilidades dependen de sistemas informáticos • Producir software costeable es esencial parael funcionamiento de la economía nacional e internacional
Introducción
• A lo largo de los años se ha demostrado que un enfoque informal en el desarrollo del software no es bueno • Los grandes proyectos presentaban las siguientes problemáticas:
– Tenian años de retraso – Costaban más de lo presupuestado – Eran dificiles de mantener – Presentaban un desempeño pobre
Introducción
• Debido alas problemáticas anteriores surgen las metodologías de software • Uno de los objetivos de las metodologías de software es:
– Entregar un producto de software que satisfaga las necesidades del usuario, de forma eficiente y predecible
Metodologías orientadas a objetos
• Algunas de las metodologías orientadas a objetos son:
– Object-Modeling technique (OMT) – Unified Process (UP) – RationalUnified Process (RUP)
OMT
• Es un lenguaje para el modelado y diseño orientado a objetos • Fue desarrollado en 1991 por James Rumbaugh • Una suposición fundamental de OMT es que el diseño orientado a objetos es una forma más natural e intuitiva de razonar sobre la realidad • OMT es uno de los precursores del lenguaje unificado de modelado (UML)
OMT
• El modelado en OMT tiene lossiguientes propósitos:
– Probar entidades físicas antes de construirlas (simulación) – Comunicación con los clientes – Visualización (presentación alternativa de infomación) – Reducción de la complejidad
OMT
• Existen tres modelados principales en OMT:
– El de objeto – El dinámico – El funcional
Modelo de objeto
• Representa el fenómeno estático y más estable en el dominio del modelado • Los...
Regístrate para leer el documento completo.