Você está na página 1de 34

SWING

Swing

Es el conjunto de clases de JFC que nos permite construir interfaces grficas para usuario (GUI).

Ejemplo de componentes

El paradigma OO

Orientacin a objetos Reusabilidad Confiabilidad Robustez Extensibilidad Mantenibilidad

En todos los niveles del proceso de desarrollo: Anlisis, diseo y programacin

Orientacin a Objetos
Programacin Orientada a Objetos

Contenido de la clase de hoy

Introduccn a la Orientacin a objetos


Introduccin a la Programacin Orientada a Objetos

Ciclo de Vida de una Aplicacin


Anlisis Diseo Implementacin Pruebas

Mantenimiento

La base: Orientacin a Objetos


Qu es? Paradigma: (Qu es un paradigma?) Basado en objetos y clases Aplicables al anlisis, diseo y programacin de una solucin Un sistema software es un conjunto de objetos que cooperan.

La base: Orientacin a Objetos


Los objetos poseen una funcionalidad (operaciones que son capaces de hacer o mensajes a los que son capaces de reaccionar).
En este curso enfocamos la aplicacin de la orientacin a objetos a la programacin en java

Orientacin a Objetos
reas de Aplicacin

Simulaciones (65) Programacin en general (65) Mdulos (componentes) reusables de SoftWare (80s) Desarrollo de sistemas (90s) Aplicaciones para Internet (mediados de los 90s)

Distintas formas de construccin de sistemas software


Programacin estructurada. (Imperativos) C, Pascal, Modula.
Programacin funcional. Lisp, Cammel. Programacin lgica. (Declarativos) Prolog. Programacin orientada a objetos. Smalltalk, C++, Java, C#

Programacin con agentes.

Contraste con otros paradigmas de programacin


Descomposicin funcional Mdulos construidos alrededor de las operaciones. Datos globales o distribuidos entre mdulos. Entrada/Proceso/Salida. Organigramas de flujo de datos. Orientacin a objetos Mdulos construidos alrededor de las clases. Clases dbilmente acopladas, y sin datos globales Encapsulacin/mensajes. Diagramas jerrquicos de clases.

Programacin orientada a objetos


Ventajas
Desarrollo ms rpido Incremento en la calidad Mantenimiento ms sencillo (Modularidad) Los cambios son ms sencillos de hacer Reutilizacin de SoftWare Sistemas que pueden evolucionar de una manera ms conveniente y sencilla (Extensibilidad) Reduccin del riesgo en el desarrollo de sistemas complejos porque la integracin es ms simple Naturalidad en la forma de encarar los problemas

POO: Conceptos
Objeto Mensaje Clase Herencia Interfaz
JAVA

Cmo traducir estos conceptos en cdigo?

Objeto
Qu es? Clave para entender el paradigma orientado a objetos Cualquier objeto de la vida real

Un objeto es un combinado software de variables y mtodos asociados

Objeto: Qu podemos representar?


Objetos reales: Casas, perros, gatos, sillas, mezas, clubes de ftbol, etc, etc. Objetos abstractos: Eventos (Cambios de estado, cotizacin de productos, etc)
Desde el punto de vista de la programacin, un objeto es una variable.

Objeto: Esquema visual de un objeto en SOFTWARE

Objeto: Una bicicleta modelada con un objeto de SOFTWARE

Objeto: Beneficios
Modularidad
Information hiding (Encapsulacin)

Mensaje
Qu es? Formas de comunicacin entre objetos Un objeto de una clase responde a cualquiera de los mensajes definidos en la clase. Ej:
float x = unRectangulo.getX(); unRectangulo.Mover(0, 20); unRectangulo.Dibujar();

Mensaje: Alguien enviando mensajes a una bicicleta

Mensaje: Beneficios
El comporamiento de un objeto se expresa a travs de sus mtodos (en vez de acceso directo a sus variables) El paso de mensajes soporta TODA la interaccin entre objetos Los objetos no necesitan estar siquiera en la misma mquina para comunicarse entre s

Clase
Agrupador de objetos que comparten caractersticas y comportamientos, describe un conjunto de ejemplares con propiedades y comportamientos similares.

Qu es?

Una clase es un plano o prototipo que define las variables y mtodos comunes a los objetos de cierto tipo

Clase: Esquema

Clase: Objetos como Instancias


Los objetos son instanciaciones de las clases

Clase
Una clase se describe por: Nombre. Interfaz: Operaciones (mtodos, mensajes) que manipulan el estado. Conjunto de atributos (datos) que definen el estado. Desde el punto de vista de la programacin una clase es un tipo de dato (Ejs.: Rectangulo, Lista, Cola, NumeroComplejo, etc.).

Herencia
Qu es? Una relacin entre Clases que permite Generalizar o Especializar las mismas
Posibilidad de definir nuevas clases a partir de clases existentes compartiendo ciertas caractersticas.

Herencia
Heredar (inherit) Redefinir (override) Crear una jerarqua

Herencia: Beneficios
La subclases proveen especializacin a los elementos bsicos comunes provistos por las super-clases La clase hija puede extender o redefinir (override) el comportamiento de la clase padre. Extensin: Se aaden operaciones y/o atributos (ej.: Volar en el caso de Ave). Redefinicin: Se cambia la implementacin de alguna operacin heredada (o se le da una implementacin si no la tena).

Herencia: Beneficios
En java, se dice que las clases EXTIENDEN a su super-clase o clase padre Ej. Integer extends Number Number extends Object

Interfaces
Qu es? Traduccin literal: dispositivo que utilizan dos entidades para interactuar. En POO, las interfaces son utilizadas por los objetos no relacionados para interactuar En otros lenguajes OO a las interfaces se las suele llamar protocolos En java, se dice que las clases IMPLEMENTAN interfaces

Diferencia entre los conceptos de clase e interfaz


El concepto de clase hace referencia a los atributos y a las operaciones, junto con su implementacin.
El concepto de interfaz hace referencia slo a los prototipos de las operaciones visibles.

Você também pode gostar