Un mundo de objetosExisten en la naturaleza, en los negocios y en los productos que usamos.
No es sorprendente que se proponga una visión orientada a objetos para la creación de software.
Es una abstracción que modela el mundo de forma tal que nos ayuda a entenderlo mejor.
¿Por qué enfocar a objetos?Las tecnologías de objetos están sustituyendo a los enfoques clásicos de desarrollo de software. ¿Por qué? La respuesta principal es la reutilización.
Reutilización x NaturalezaLas tecnologías de objetos llevan a reutilizar.
La reutilización de componentes de software lleva a un desarrollo de software más rápido y a programas de mejor calidad.
El software orientado a objetos es más fácil de mantener debido a que su estructura es por naturaleza poco acoplada.
Clases y objetosComenzaremos con una analogía simple, para ayudarle a comprender:
➔ Suponga que desea conducir un automóvil y, para hacer que aumente su velocidad, debe presionar el pedal del acelerador. ¿Qué debe ocurrir antes?Antes de poder conducir un automóvil: alguien tiene que diseñarlo.
➔ Así como se pueden construir muchos autos a partir del mismo dibujo de ingeniería, se pueden construir muchos objetos a partir de la misma clase.
Clases, objetos, métodos y variables de instancia➔ Un automóvil empieza en forma de dibujos de
ingeniería, similares a los planos que se utilizan para diseñar una casa.
➔ El volante “oculta” los mecanismos que hacen que el automóvil gire.
➔ Permite que personas sin conocimiento acerca de cómo funcionan los motores puedan conducir.
Construir un Vehículo.➔ Desafortunadamente, no puede conducir un dibujo
de un auto. ➔ Se debe construir a partir de los dibujos. ➔ Un automóvil tendrá un pedal acelerador, pero aún
así no es suficiente; el automóvil no acelerará por su propia cuenta, así que el conductor debe oprimir el pedal del acelerador.
➔ Para realizar una tarea en una aplicación se requiere un método.
AtributosEs una especificación que define una propiedad de un objeto o clase.➔ Un auto tiene muchos atributos como su color, el
número de puertas, la cantidad de gasolina en su tanque y su velocidad actual.
➔ Cuando usted conduce un automóvil, estos atributos siempre están asociados con él.
➔ Por ejemplo, cada conductor sabe cuánta gasolina tiene en su propio tanque, pero no cuánta hay en los tanques de otros automóviles.
¿Qué son los Métodos?➔ Los métodos son las tareas que puede realizar una
clase. ➔ En Java, empezamos por crear una unidad de
aplicación llamada clase para alojar a un método.➔ En una clase se proporcionan uno o más métodos. ➔ Por ejemplo, una clase que representa a una
cuenta bancaria podría contener un método para depositar dinero en una cuenta, otro para retirar dinero.
Llamar a un Método➔ Cuando usted conduce un automóvil, si oprime el
pedal del acelerador se envía un mensaje al automóvil para que realice una tarea.
➔ De manera similar, se envían mensajes a un objeto.➔ cada mensaje se conoce como la llamada a un
método, e indica a un método del objeto que realice su tarea.
Ejemplo:Declaración de una clase
// LibroNotas.java// Declaración de una clase con un método.public class LibroNotas{// muestra un mensaje de bienvenidapublic void mostrarMensaje(){System.out.println( "Bienvenido al Libro de Notas!" );} // fin del método mostrarMensaje} // fin de la clase LibroNotas
Ejemplo:Declaración de una clase➔ Como aprendimos en el capítulo 2, la clase main
empieza la ejecución de todas las aplicaciones. ➔ La clase LibroNotas no es una aplicación, ya que
no contiene a main. ➔ Por lo tanto, si trata de ejecutar, recibirá un
mensaje de error: java.lang.NoSuchMethodError: main
Para corregir este problema, debemos declarar una clase que contenga un método main.
Objeto de la Clase: LibroNotas// TestLibroNotas.javapublic class TestLibroNotas{//el método main empieza la ejecución del programapublic static void main( String args[] ){// crea un objeto NotasLibroNotas miLibroNotas = new LibroNotas();miLibroNotas.mostrarMensaje();} // fin de main} // fin de la clase PruebaLibroNotas
Ejemplo:Depositar dinero en cuenta.➔ El siguiente ejemplo, permite actualizar el saldo de
un cliente.➔ Se utiliza una clase Cuenta.java, y Ejecutar.java, en
donde se encuentra el método Main.
package cuenta;public class Cuenta{ private double saldo; //almacena el saldopublic Cuenta( double saldoInicial ) //constructor{if ( saldoInicial > 0.0 )saldo = saldoInicial;}public void abonar( double monto ){ saldo = saldo + monto; // suma el monto al saldo} // devuelve el saldo de la cuentapublic double obtenerSaldo(){ return saldo; // proporciona el valor de saldo } // fin del método obtenerSaldo} // fin de la clase Cuenta
package cuenta;import java.util.Scanner;public class Ejecutar {public static void main( String args[] ){Cuenta cuenta1 = new Cuenta( 50.00 ); // crea objeto CuentaCuenta cuenta2 = new Cuenta( 10.00 ); // crea objeto Cuenta// muestra el saldo inicial System.out.printf("Saldo de cuenta1: $%.2f\n",cuenta1.obtenerSaldo());System.out.printf("Saldo de cuenta2: $%.2f\n",cuenta2.obtenerSaldo());Scanner entrada = new Scanner( System.in ); //Entrada de Datosdouble montoDeposito; // deposita el monto System.out.print( "Escriba el monto a depositar para cuenta1: " );montoDeposito = entrada.nextDouble(); // obtiene entrada del usuarioSystem.out.printf( "\nSumando %.2f al saldo de cuenta1\n\n",montoDeposito );cuenta1.abonar( montoDeposito ); // suma al saldo de cuenta1// muestra los saldosSystem.out.printf( "Saldo de cuenta1: $%.2f\n", cuenta1.obtenerSaldo());System.out.printf( "Saldo de cuenta2: $%.2f\n", cuenta2.obtenerSaldo());}}
Cuadro de Diálogo Visual➔ Los programas que hemos presentado hasta ahora
muestran su salida en la ventana de comandos.➔ Muchas aplicaciones utilizan ventanas, o cuadros
de diálogo para mostrar la salida.
Dialogo1.javapackage dialogo1;import javax.swing.JOptionPane; public class Dialogo1{public static void main( String args[] ){JOptionPane.showMessageDialog( null, "Bienvenido" );} // fin de main} // fin de la clase Dialogo1
Dialogo2.javapackage dialogo2;import javax.swing.JOptionPane;public class Dialogo2{public static void main( String args[] ){// pide al usuario que escriba su nombreString nombre =JOptionPane.showInputDialog( "Cual es su nombre?" );String mensaje = String.format( "Bienvenido, %s, al curso!", nombre );JOptionPane.showMessageDialog( null, mensaje );} // fin de main} // fin de la clase DialogoNombre
Top Related