Clases y Objetos
Ramiro Estigarribia Canese
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.
¿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 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.
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.
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.
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.
¿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 bienvenida
public 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.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
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 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
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());
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.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
} // fin de la clase DialogoNombre
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);
}}

3.introducción a las clases y los objetos en java

  • 1.
    Clases y Objetos RamiroEstigarribia Canese
  • 2.
    Un mundo deobjetos 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é enfocara 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 Lastecnologí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 Comenzaremoscon 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étodosy 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ónque 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 losMé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 unMé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 unaclase // 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 unaclase ➔ 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 laClase: 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 encuenta. ➔ 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 classCuenta { 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; publicclass 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álogoVisual ➔ 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.
  • 18.
    Dialogo1.java package dialogo1; import javax.swing.JOptionPane; publicclass Dialogo1 { public static void main( String args[] ) { JOptionPane.showMessageDialog( null, "Bienvenido" ); } // fin de main } // fin de la clase Dialogo1
  • 19.
    Dialogo2.java package dialogo2; import javax.swing.JOptionPane; publicclass 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; importjavax.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); }}