2. Un mundo de objetos
Existen 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.
3. ¿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.
4. Reutilización x Naturaleza
Las 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.
5. Clases y objetos
Comenzaremos 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.
6. 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.
7. 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.
8. Atributos
Es 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.
9. ¿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.
10. 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.
11. Ejemplo:
Declaración de una clase
// LibroNotas.java
// Declaración de una clase con un método.
public class LibroNotas
{
// muestra un mensaje de bienvenida
public void mostrarMensaje()
{
System.out.println( "Bienvenido al Libro de Notas!" );
} // fin del método mostrarMensaje
} // fin de la clase LibroNotas
12. 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.
13. Objeto de la Clase:
LibroNotas
// TestLibroNotas.java
public class TestLibroNotas
{
//el método main empieza la ejecución del programa
public static void main( String args[] )
{
// crea un objeto Notas
LibroNotas miLibroNotas = new LibroNotas();
miLibroNotas.mostrarMensaje();
} // fin de main
} // fin de la clase PruebaLibroNotas
14. 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.
15. package cuenta;
public class Cuenta
{ private double saldo; //almacena el saldo
public 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 cuenta
public double obtenerSaldo()
{ return saldo; // proporciona el valor de saldo
} // fin del método obtenerSaldo
} // fin de la clase Cuenta
16. package cuenta;
import java.util.Scanner;
public class Ejecutar {
public static void main( String args[] )
{
Cuenta cuenta1 = new Cuenta( 50.00 ); // crea objeto Cuenta
Cuenta cuenta2 = new Cuenta( 10.00 ); // crea objeto Cuenta
// muestra el saldo inicial
System.out.printf("Saldo de cuenta1: $%.2fn",cuenta1.obtenerSaldo());
System.out.printf("Saldo de cuenta2: $%.2fn",cuenta2.obtenerSaldo());
Scanner entrada = new Scanner( System.in ); //Entrada de Datos
double montoDeposito; // deposita el monto
System.out.print( "Escriba el monto a depositar para cuenta1: " );
montoDeposito = entrada.nextDouble(); // obtiene entrada del usuario
System.out.printf( "nSumando %.2f al saldo de cuenta1nn",
montoDeposito );
cuenta1.abonar( montoDeposito ); // suma al saldo de cuenta1
// muestra los saldos
System.out.printf( "Saldo de cuenta1: $%.2fn", cuenta1.
obtenerSaldo());
17. 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.
19. Dialogo2.java
package dialogo2;
import javax.swing.JOptionPane;
public class Dialogo2
{
public static void main( String args[] )
{
// pide al usuario que escriba su nombre
String 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
20. Concatenar Palabras.
package concatenar;
import javax.swing.JOptionPane;
public class Concatenar {
public static void main(String[] args) {
String var1= new String("Hola");
String var2= new String("mundo");
String frase= var1 + " " + var2;
JOptionPane.showMessageDialog( null, frase);
}}