Qu es la POO?
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.
Qu es un objeto?
Pensar en trminos de objetos es muy parecido a cmo lo haramos en la vida
real. Por ejemplo vamos a pensar en un coche para tratar de modelizarlo en un
esquema de POO. Diramos que el coche es el elemento principal que tiene una
serie de caractersticas, como podran ser el color, el modelo o la marca. Adems
tiene una serie de funcionalidades asociadas, como pueden ser ponerse en
marcha, parar o aparcar. Pues en un esquema POO el coche sera el objeto, las
propiedades seran las caractersticas como el color o el modelo y los mtodos
seran las funcionalidades asociadas como ponerse en marcha o parar.
Qu es un algoritmo?
Un Algoritmo, se puede definir como una secuencia de instrucciones que
representan un modelo de solucin para determinado tipo de problemas. O bien
como un conjunto de instrucciones que realizadas en orden conducen a obtener la
solucin de un problema. Por lo tanto podemos decir que es un conjunto ordenado
y finito de pasos que nos permite solucionar un problema.
Qu es un diagrama de flujo?
Los diagramas de flujo son una serie de pasos secuenciales que representan de
una manera tradicional los detalles algortmicos de los procesos. Se utilizan
principalmente en programacin, economa y procesos industriales; dichos
diagramas una nomenclatura simblica con significados especiales.
En las representaciones grficas de procesos con smbolos, estos se
interconectan para que en conjunto le den un sentido lgico al diagrama de flujo el
cual da pie al desarrollo de un sistema de informacin.
Qu es un evento?
Los eventos son todas las acciones que el usuario inicia, dar clic sobre un botn,
presionar las teclas del teclado, etc. Cada vez que se produce un evento, se crea
un objeto. Cada lenguaje de programacin tiene su propio modelo de eventos.
Gestin de Eventos
Auditores de eventos.
Un auditor es un objeto que es avisado cuando ocurre un evento. Tiene dos
requisitos principales. Primero tiene que ser registrado o ir acompaado por una o
ms fuentes para recibir notificaciones sobre los tipos especficos de eventos.
Segundo, tiene que implementar mtodos para recibir y procesar notificaciones.
Clase de evento
Descripcin
ActionEvent
AdjustmentEvent
ComponentEvent
ContainerEvent
FocusEvent
foco.
InputEvent
ItemEvent
KeyEvent
MouseEvent
TextEvent
WindowEvent
Origen
evento
Button
de Descripcin
presiona el botn.
Checkbox
Choice
List
Menu Item
Scrollbar
Text
components
Window
Una fuente genera un evento y lo enva a uno a ms oyentes o auditores, que han
estado simplemente esperando hasta que reciben ese evento y una vez recibido lo
procesan y lo devuelven.
Una fuente es un objeto que genera un evento. Esto ocurre cuando cambia de
alguna manera el estado interno de ese objeto. Las fuentes pueden generar ms
de un tipo de eventos.
Una fuente tiene que ir acompaada de auditores para que estos reciban las
notificaciones sobre el tipo especfico de evento, cada tipo de evento tiene su
propio mtodo de registro. La forma general es:
Public void addTypeListener(TypeListener el)
Por ejemplo el mtodo que registra o acompaa a un auditor de evento de teclado
es addKeyListener( ). Cuando ocurre un evento, se notifica a todos los auditores
registrados, que reciben una copia del objeto evento. Esto es lo que se conoce
como multicasting del evento.
Una fuente tambin puede proporcionar un mtodo que permita a un auditor
eliminar un registro en un tipo especfico de evento y la forma general es:
Public void removeTypeListener(TypeListener el);
Aqu Type es el nombre del evento y el es una referencia al auditor. Por ejemplo
para borrar un auditor del teclado se llamara removeKeyListener( ).
Mtodos de control de eventos
Cuando una accin sobre un componente genera un evento, se espera que
suceda algo, entendiendo por evento un mensaje que un objeto enva a algn
otro objeto.
El Ejemplo de evento
Ventana.Java
Esta clase representa la ventana principal del sistema, como vemos implementa la
interface MouseListener que
permite
el
uso
de
los
mtodos mouseClicked(),mousePressed(), mouseReleased(), mouseExited(),
mouseEntered(), los cuales capturan los eventos para cuando se hace clic, se
presiona, se suelta, se sale, o se entra en algn componente respectivamente.....
1
class Ventana extends JFrame implements MouseListener {
2
JLabel etiqueta1, etiqueta2;
3
JLabel labelTitulo;
4
JButton boton1;
5
6
public Ventana() {
7
setLayout(null);
8
/**Propiedades del Label, lo instanciamos, posicionamos y
9
* activamos los eventos*/
10
labelTitulo= new JLabel();
11
labelTitulo.setText("Eventos del Mouse");
12
labelTitulo.setFont(new java.awt.Font("Comic Sans MS", 0, 28));
13
labelTitulo.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
14
labelTitulo.setBorder(javax.swing.BorderFactory.createBevelBorder
15
(javax.swing.border.BevelBorder.LOWERED));
16
labelTitulo.setBounds(40, 10, 300, 40);
17
labelTitulo.addMouseListener(this);
18
19
etiqueta1 = new JLabel();
20
etiqueta1.setBounds(10, 160, 190, 20);
21
etiqueta2 = new JLabel();
22
etiqueta2.setBounds(10, 180, 190, 20);
23
24
boton1 = new JButton();
25
boton1.setBounds(110, 75, 150, 75);
26
boton1.setText("Presioname");
27
boton1.addMouseListener(this);
28
29
add(labelTitulo);
30
add(etiqueta1);
31
add(etiqueta2);
32
add(boton1);
33
34
setTitle("CoDejaVu Eventos del Mouse");
35
setSize(400, 240);
36
}
37
38
public void mouseClicked(MouseEvent evento) {
39
if (evento.getSource() == boton1){
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Conclusin
Las GUI estn controladas por eventos, alguno de estos eventos son, mover el
Mouse, seleccionar o escribir en un campo de texto, hacer click en un botn, ya
sea en la pantalla o en el Mouse etc. Cuando ocurre una interaccin con el
usuario, se envia un mensaje al programa. La informacin de los eventos de la
GUI se almacena en un objeto de la clase que extiende a AWTEvent. Los Tipos de
eventos del paquete java.awt.event se utilizan con componentes de AWT y de
Swing. Los tipos de eventos adicionales, especficos para SPNG, se declaran en
el paquete javax.swing.event.