Professional Documents
Culture Documents
Un mundo de objetos
Existen en la naturaleza, en los negocios y en los
productos que usamos.
No es sorprendente que se proponga una visin
orientada a objetos para la creacin de software.
Es una abstraccin que modela
el mundo de forma tal que nos
ayuda a entenderlo mejor.
Reutilizacin x Naturaleza
Las tecnologas de objetos llevan a reutilizar.
La reutilizacin de componentes de software lleva a
un desarrollo de software ms rpido y a programas
de mejor calidad.
El software orientado a objetos es ms fcil de
mantener debido a que su estructura
es por naturaleza poco acoplada.
Clases y objetos
Comenzaremos con una analoga simple, para
ayudarle a comprender:
Suponga que desea conducir un automvil y, para
hacer que aumente su velocidad, debe presionar el
pedal del acelerador.
Qu debe ocurrir antes?
Antes de poder conducir un automvil: alguien
tiene que disearlo.
As como se pueden construir muchos autos a
partir del mismo dibujo de ingeniera, se pueden
construir muchos objetos a partir de la misma
clase.
Construir un Vehculo.
Desafortunadamente, no puede conducir un dibujo
de un auto.
Se debe construir a partir de los dibujos.
Un automvil tendr un pedal acelerador, pero an
as no es suficiente; el automvil no acelerar por
su propia cuenta, as que el conductor debe oprimir
el pedal del acelerador.
Para realizar una tarea en una aplicacin se
requiere un mtodo.
Atributos
Es una especificacin que define una propiedad de un
objeto o clase.
Un auto tiene muchos atributos como su color, el
nmero de puertas, la cantidad de gasolina en su
tanque y su velocidad actual.
Cuando usted conduce un automvil, estos
atributos siempre estn asociados con l.
Por ejemplo, cada conductor sabe cunta gasolina
tiene en su propio tanque, pero no cunta hay en
los tanques de otros automviles.
Llamar a un Mtodo
Cuando usted conduce un automvil, si oprime el
pedal del acelerador se enva un mensaje al
automvil para que realice una tarea.
De manera similar, se envan mensajes a un objeto.
cada mensaje se conoce como la llamada a un
mtodo, e indica a un mtodo del objeto que realice
su tarea.
Ejemplo:
Declaracin de una clase
// LibroNotas.java
// Declaracin de una clase con un mtodo.
public class LibroNotas
{
// muestra un mensaje de bienvenida
public void mostrarMensaje()
{
System.out.println( "Bienvenido al Libro de Notas!" );
} // fin del mtodo mostrarMensaje
} // fin de la clase LibroNotas
Ejemplo:
Declaracin de una clase
Como aprendimos en el captulo 2, la clase main
empieza la ejecucin de todas las aplicaciones.
La clase LibroNotas no es una aplicacin, 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 mtodo main.
Objeto de la Clase:
LibroNotas
// TestLibroNotas.java
public class TestLibroNotas
{
//el mtodo main empieza la ejecucin 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
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 mtodo Main.
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 mtodo 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 Cuenta
Cuenta 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 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
cuenta1\n\n",montoDeposito );
cuenta1.abonar( montoDeposito ); // suma al saldo de cuenta1
// muestra los saldos
System.out.printf( "Saldo de cuenta1: $%.2f\n",
cuenta1.obtenerSaldo());
Dialogo1.java
package 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.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
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);
}}