domingo, 10 de abril de 2016

028.- Introducción a la Programación Orientada a Objetos - POO - Java y NetBeans


Introducción a la Programación Orientada a Objetos – POO:

La programación orientada a objetos es una nueva forma de entender la creación de programas. Esta filosofía de programación se basa en el concepto de objeto.


OBJETO:

Un objeto se define como un elemento que tiene unas propiedades y métodos.

Un objeto posee unas características (ancho, alto, color, etc…). A las características de un objeto se les llama propiedades.

Un objeto es un elemento “inteligente”. A un objeto se le puede dar órdenes y él obedecerá. A estas órdenes se les llama métodos. Con los métodos podemos cambiar las características del objeto, pedirle información, o hacer que el objeto reaccione de alguna forma.

En Java todo son objetos. Veamos algunos ejemplos de uso de objetos en Java:


Ejemplo N° 1:

Supongamos que tenemos una etiqueta llamada etiTexto. Esta etiqueta es un objeto.

Como objeto que es, la etiqueta etiTexto tiene una serie de características, como por ejemplo: el color de fondo, el tamaño, la posición que ocupa en la ventana, el ser opaca o no, el ser invisible o no, etc… Son las propiedades de la etiqueta.

A una etiqueta le podemos dar órdenes, a través de sus métodos.

A través de los métodos podemos por ejemplo cambiar las características del objeto. Por ejemplo, se puede cambiar el tamaño y posición de la etiqueta usando el método setBounds:

etiTexto.setBounds(20,20,100,30);

Normalmente, los métodos que permiten cambiar las características del objeto son métodos cuyo nombre empieza por set.

Los métodos también permiten pedirle al objeto que dé información. Por ejemplo, podríamos usar el conocido método getText para recoger el texto que contenga la etiqueta y almacenarlo en una variable:

String texto;
texto = etiTexto.getText();


Los métodos que le piden información al objeto suelen tener un nombre que empieza por get.

Los métodos también sirven para ordenarle al objeto que haga cosas. Por ejemplo, podemos ordenar a la etiqueta etiTexto que no se muestre en la ventana usando el método setVisible:

etiTexto.setVisible(false);



Ejemplo N° 2:

Supongamos que tenemos un cuadro de texto llamado txtCuadro. Como todo en Java, un cuadro de texto es un objeto.

Un objeto tiene propiedades, es decir, características. Nuestro cuadro de texto txtCuadro tiene características propias: un color de fondo, un ancho, un alto, una posición en la ventana, el estar activado o no, el estar visible o no, etc…

A un objeto se le puede dar órdenes, llamadas métodos. Estas órdenes nos permiten cambiar las características del objeto, pedirle información, o simplemente pedirle al objeto que haga algo.

Por ejemplo, podemos cambiar el color de fondo del cuadro de texto txtCuadro usando el método llamado setBackground:

txtCuadro.setBackground(Color.BLUE);


Otros métodos que permiten cambiar las propiedades del objeto cuadro de texto son:

setVisible       - permite poner visible o invisible el cuadro de texto
setEnabled    - permite activar o desactivar el cuadro de texto
setEditable    - permite hacer que se pueda escribir o no en el cuadro de texto
setText         - permite modificar el texto del cuadro de texto
setBounds     - permite cambiar el tamaño y posición del objeto
setToolTipText         - permite asociar un texto de ayuda al cuadro de texto
etc

Un objeto nos da información sobre él. Para pedirle información a un objeto usaremos métodos del tipo get. Por ejemplo, para pedirle al cuadro de texto el texto que contiene, usaremos el método getText:

String cadena = txtCuadro.getText();


Otros métodos que devuelven información del cuadro de texto son:

getWidth               - devuelve el ancho que tiene el cuadro de texto
getHeight               - devuelve el alto que tiene el cuadro de texto
getSelectedText       - devuelve el texto que está seleccionado dentro del cuadro de texto
getToolTipText        - devuelve el texto de ayuda que tiene asociado el cuadro de texto
etc

También se le puede dar al objeto simplemente órdenes para que haga algo. Por ejemplo, podemos ordenar al cuadro de texto txtCuadro que seleccione todo el texto que contiene en su interior a través del método selectAll:

txtCuadro.selectAll();


Otros métodos que ordenan al cuadro de texto son:

repaint         - le ordena al cuadro de texto que se vuelva a pintar
copy            - le ordena al cuadro de texto que copie el texto que tenga seleccionado
cut              - le ordena al cuadro de texto que corte el texto que tenga seleccionado
paste           - le ordena al cuadro que pegue el texto que se hubiera copiado o cortado
etc




CLASE:

Todo objeto es de una “clase” determinada, o dicho de otra forma, tiene un “tipo de datos” determinado.

Por ejemplo, las etiquetas que se usan en las ventanas son objetos que pertenecen a la clase JLabel. Los cuadros de texto en cambio son objetos de la clase JTextField.

Para poder usar un objeto hay que declararlo y construirlo.


Declaración de un Objeto:

La declaración de un objeto es algo similar a la declaración de una variable. Es en este momento cuando se le da un nombre al objeto. Para declarar un objeto se sigue la siguiente sintaxis:

Clase nombreObjeto;


Por ejemplo, para declarar la etiqueta del ejemplo N° 1, se usará el siguiente código:

JLabel etiTexto;


Para declarar, en cambio, el cuadro de texto del ejemplo N° 2, se usará el siguiente código:

JTextField txtCuadro;



Construcción de un Objeto:

En el momento de la “construcción” de un objeto, se le asignan a este una serie de propiedades iniciales. Es decir, unas características por defecto. Se puede decir que es el momento en que “nace” el objeto, y este nace ya con una forma predeterminada, que luego el programador podrá cambiar usando los métodos del objeto.

Es necesario construir el objeto para poder usarlo. La construcción del objeto se hace a través del siguiente código general:

nombreObjeto = new Clase();


Por ejemplo, para construir la etiqueta del ejemplo N° 1, se hará lo siguiente:

etiTexto = new JLabel();


Para construir el cuadro de texto del ejemplo N° 2, se hará lo siguiente:

txtCuadro = new JTextField();


NOTA: En algunos casos, la sintaxis de la declaración y la construcción se une en una sola línea. Por ejemplo, supongamos que queremos declarar la etiqueta etiTexto y construirla todo en una línea, entonces se hará lo siguiente:

JLabel etiTexto = new JLabel();


En general, para declarar y construir un objeto en una sola línea se sigue la siguiente sintaxis:

Clase nombreObjeto = new Clase();




La Clase como Generadora de Objetos:

Conociendo la Clase, se pueden crear tantos objetos de dicha Clase como se quiera. Es decir, la Clase de un objeto funciona como si fuera una plantilla a partir de la cual fabricamos objetos iguales. Todos los objetos creados a partir de una clase son iguales en un primer momento (cuando se construyen) aunque luego el programador puede dar forma a cada objeto cambiando sus propiedades.

Por ejemplo, la Clase JLabel define etiquetas. Esto quiere decir que podemos crear muchas etiquetas usando esta clase:

JLabel etiTexto = new JLabel();
JLabel etiResultado = new JLabel();
JLabel etiMensaje = new JLabel();


En el ejemplo se han declarado y construido tres etiquetas llamadas etiTexto, etiResultado y etiMensaje. Las tres etiquetas al momento de ser creadas son iguales, pero a través de los distintos métodos podemos dar forma a cada una:

etiTexto.setBackground(Color.RED);
etiTexto.setText(“Hola”);
etiResultado.setBackground(Color.GREEN);
etiResultado.setText(“Error”);
etiMensaje.setBackground(Color.BLUE);
etiMensaje.setText(“Cadena”);


En el ejemplo se le ha dado, usando el método setBackground un color distinto a cada etiqueta, además se ha cambiado el texto de cada una. De este modo se le da forma a cada etiqueta.



Hasta ahora has usado objetos aunque no tengas mucha conciencia de ello. Por ejemplo ha usado etiquetas, cuadros de texto, botones, botones de opción y demás en los temas anteriores. Como práctica y para ampliar tus conocimientos investiga y responde las siguientes interrogantes:

-        ¿Cuál es el nombre de la clase de los botones normales que usa en sus ventanas?
-        ¿Cómo declararías un botón llamado btnAceptar, y otro llamado btnCancelar?
-        ¿Cómo construirías dichos botones?
-        Indica algunos métodos para cambiar propiedades de dichos botones (métodos set)
-        Indica algunos métodos para pedirle información a dichos botones (métodos get)
-        Indica algún método para dar órdenes a dichos botones (algún método que no sea ni set ni get)









CONCLUSIONES:

Un Objeto es un elemento que tiene una serie de características llamadas PROPIEDADES.

Por otro lado, al objeto se le pueden dar órdenes que cumplirá de inmediato. A dichas órdenes se les denomina MÉTODOS.

Los métodos se pueden dividir básicamente en tres tipos:

Para cambiar las propiedades del objeto (Métodos set)
Para pedir información al objeto (Métodos get)
Para dar órdenes al objeto.


Todo objeto pertenece a una CLASE.

La CLASE nos permite declarar objetos y construirlos:


Declaración:

     CLASE nombreObjeto;


Construcción:

     nombreObjeto = new CLASE();


Declaración y Construcción en una misma línea:

     CLASE nombreObjeto = new CLASE();

En la construcción de un objeto se asignan unas propiedades (características) por defecto al objeto que se construye, aunque luego, estas características pueden ser cambiadas según necesidad y criterio del desarrollador.



No hay comentarios.:

Publicar un comentario