metodología de la programación orientada a objetos

Post on 21-Jan-2016

60 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Metodología de la Programación Orientada a Objetos. Ing. Juan Carlos Pizarro Martínez M.A. Martha Rangel Esquivel. ¿Qué es Orientado a Objetos?. - PowerPoint PPT Presentation

TRANSCRIPT

Metodología de la Programación Orientada a

ObjetosIng. Juan Carlos Pizarro Martínez

M.A. Martha Rangel Esquivel

¿Qué es Orientado a Objetos? El termino OO, significa que el software es

organizado como una colección de objetos. Un objeto es un paquete de software que contiene datos y procedimientos relacionados.

Los objetos se utilizan para representar objetos del mundo real, como pueden ser: productos, clientes y ordenes de compra. La idea básica es definir objetos de software que puedan interactuar unos con otros como lo hacen en el mundo real.

La OO es especialmente adecuada para realizar determinadas aplicaciones, sobre todo realización de prototipos

Las aplicaciones orientadas a objetos son más sencillas de mantener

Razones fundamentales que están influyendo en la importancia de la POO

Los mecanismos de encapsulamiento de POO soportan un alto grado de reutilización de código, incrementándose con la herencia y agregación.

Interfaces de usuario visuales

POO Vs Programación Estructurada La POO es un modelo de lenguaje de

programación organizado alrededor de “objetos” en lugar de “acciones” y datos en lugar de lógica.

Históricamente, un programa era visto como un procedimiento lógico que tomaba entradas, las procesaba, y producía salidas.

entradas salidaproceso

El reto era el como escribir la lógica, no como definir los datos.

La programación orientada a objetos se enfoca en que lo que importa son los objetos que queremos manipular, no la lógica que se requiere para manipularlos.

La orientación a objetos obliga a reconsiderar nuestro pensamiento sobre la computación, y sobre cómo se estructura la información dentro de la computadora.

Metodología de la Programación Orientada a Objetos

Es una metodología de desarrollo de software

que se enfoca en el paradigma de la POO

1. Nuestro mundo es un conjunto de agentes/objetos colaborando uno con otros.

2. El software se debe organizar de acuerdo a la estructura de mundo real.

Esto incrementa el entendimiento y evolución del software

Paradigmas de la MOO

Nuestro mundo es un conjunto de agentes/objetos colaborando uno con otros.

Paradigma # 1

Ingenieros

Científicos

Escuelas

Fabricas

Empleados

Presidente

El software se debe organizar de acuerdo a la estructura de mundo real.

Paradigma # 2

Objetos deDiseño

Objetos deLaboratorio

ObjetoAdministraciónde fabricas

ObjetoEmpleados

Objeto de Manejode Información

Son elementos del mundo real a describir◦ Elementos de comportamiento autónomo

Objeto = atributos + operaciones + comportamientos

Atributos: datos del objeto Operaciones: para cambiar y/o hacer referencia

a los atributos Comportamientos: Al recibir estímulos

(eventos) realizan operaciones, cambian de estado y activan eventos.

Son Objetos Encapsulados

Objetos Computacionales

Objetos

Como describimos el mundo real?Concepto de clase + relación entre clases

Clase como conjunto de “objetos similares” en el mundo

Descripción del Mundo Real

La abstracción consiste en aislar un elemento del resto de los elementos que lo acompañan.

Abstracción

Las personas normalmente comprenden el mundo construyendo modelos mentales de partes del mismo; tratan de comprender cosas con las que pueden interactuar.

Los modelos mentales abstraen características de un objeto para nuestra comprensión, mientras que ignoran características irrelevantes.

Este proceso de abstracción es psicológicamente necesario y natural.

La Abstracción como proceso natural mental

La abstracción es crucial para comprender este complejo mundo.

La abstracción es esencial para el funcionamiento de una mente humana normal.

La abstracción es una herramienta muy potente para tratar la complejidad.

La abstracción es la clave para diseñar buen software.

Los objetos van desde seres humanos (descritos por el nombre, dirección, etc.) a edificios, pisos (de los cuales se puede describir sus atributos) hasta pequeños componentes del escritorio de una computadora (como botones y scroll bars).

Ejemplos de Objetos

Objetos y Clases

Clases y Objetos

Jerarquía de Clase, Herencia, “es un”◦ Generalización / Especialización◦ Mamífero :, Chango :, Humano

Composición, Agregación, “tiene un”◦ Automóvil = llantas + carrocería + motor

Asociación, relación general entre clases◦ Empleado – (trabaja en) – Empresa

Dependencia

Relaciones entre Clases

Herencia – “es un”

Composición – “tiene un”

Asociación / relación

Dependencia

Análisis / Diseño Orientado a Objetos (ADOO)

Programación Orientada a Objetos

Aspectos principales en la MOO

Proceso típico de desarrollo Orientado a Objetos

Permite una representación más directa de un modelo del mundo real en el código

Programación Orientada a Objetos

Mejora la Productividad. La reutilización de componentes existentes acelera el proceso de desarrollo.

Las reducciones de código van desde un 40% con respecto a la programación estructurada.

Entrega de sistemas de alta calidad. El sistema se construye de componentes existentes debidamente validados y probados.

Beneficios de la POO

Reducción del costo de mantenimiento. Los cambios se enfocan únicamente en los objetos afectados, sin necesidad de realizar cambios en todo el sistema.

Administración de la complejidad. Con la orientación a objetos, una solución compleja se puede dividir en varios componentes de menor complejidad que el todo.

Probablemente la parte difícil de la creación de software orientado a objetos es:

Identificar las clases necesarias y el modo en que interactúan entre si.

Los lenguajes orientados a objetos proveen la abstracción por medio de clases. Las clases definen las propiedades y métodos de un tipo de objeto.

Ejemplo: Puede crear una abstracción de un perro con características como, color, altura y peso, y acciones como ladrar y morder.

Las características representan las propiedades y las acciones los métodos.

Abstracción en la POO

Practiquemos la Abstracción

estudiante

persona

maestro

empleado

Identificación de clases/objetos

Identificación de clase/objetos

Una mas…

Objeto/ Composición /Relaciones

ventana

botones

Caja de texto

menu

Lenguajes de Programación

ALGOL

Simula

Smalltalk

ActorObject Pascal

Objective-C

C

C++

Pascal

Ada

Ada-95

Delphi

Basic

Java

Visual Basic

C#

Es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los años 90.

Java

La sintaxis de Java se deriva en gran medida de C /C++, Pero a diferencia de éste todo en Java es un objeto.

Elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de apuntadores o memoria.

Permite Multihilos

Es independiente de la plataforma, programas escritos en el lenguaje Java pueden ejecutarse igualmente en cualquier tipo de hardware.

La portabilidad es técnicamente difícil de lograr, y el éxito de Java en ese campo ha sido el simplificar su logro.

Distribuido bajo la licencia GNU GPL (software Libre)

Programas que pueden ser empotrados en una página Web

Programas autonomos llamados aplicaciones Java

Tipos de programas en Java

Programas que pueden ser empotrados en una página Web (Applets, Servlets)

Programas autonomos llamados aplicaciones Java

Tipos de programas en Java

Programas que pueden ser empotrados en una página Web (Applets, Servlets)

Programas autonomos llamados aplicaciones Java Aplicaciones de consola

Tipos de programas en Java

Programas que pueden ser empotrados en una página Web (Applets, Servlets)

Programas autonomos llamados aplicaciones Java Aplicaciones de consola Aplicaciones con ventanas

Tipos de programas en Java

Versiones Java

Proceso de compilación

Proceso de compilación en un Programa C++

Proceso de compilación en un Programa Java

Estructura de directorios en Java

top related