Uso de objetos en Java
Descripción:
A medida que el programador se va desarrollando y adquiriendo conocimientos, siempre van surguiendo nuevos métodos o maneras de realizar un mismo trabajo, con la ventaja que estas nuevas formas son mucho mas fáciles de manejar, y es por eso que tocaremos el tema del manejo de clases orientadas a objetos.
Desde ya se aclara que las clases orientadas a objetos son un ejemplar de otra clase que se puede invocar o llamar a una nueva, al llamarlo desde una nueva clase se pueden ocupar todos los métodos que la clase de objetos posee.
Una definición de clase comprende:
- „ Cabecera
- „ Campos o atributos:
- Š Variables
- Š Constantes
- „ Métodos:
- Š Funciones
- Š Constructores
- Š Bloques de inicialización static
- Š Finalizado
Variables, objetos y referencias
Una variable de un determinado tipo simple proporciona:
- Š Capacidad para almacenar un valor simple
- Š Un conjunto predefinido de operadores
Creación de instancias (objetos)
- Operador new:
- „ Crea una instancia o ejemplar de la clase indicada y devuelve una referencia a dicho objeto.
- „ Se reserva espacio de memoria para los datos del objeto.
- Š Un ejemplar es una copia individual de la plantilla de la clase que tiene su propio conjunto de datos.
Creación de instancias (objetos)
int num = 5;
// crea una referencia
Rectangulo rect;
rect = new Rectangulo();
Rectangulo otroRect;
otroRect = rect;
// otroRect se refiere al
mismo
// rectangulo que rect
int num = 5;
// crea una referencia
Rectangulo rect;
rect = new Rectangulo();
Rectangulo otroRect;
otroRect = rect;
// otroRect se refiere al mismo
// rectangulo que rect
Constructores
- „ Método que inicializa el objeto en su creación
- „ Se llama automáticamente cuando se crea un objeto
- „ Su nombre es igual que el de la clase y no tiene tipo de retorno
- „ Java proporciona un constructor sin parámetros por defecto que deja de estar disponible cuando se añade algún constructor.
Llamada a los métodos
„ La invocación a los métodos desde una instancia se hace mediante el operador de acceso ( . )
Referencia a objeto this:
- Referencia especial que utilizada dentro de un método de cualquier clase se refiere a la instancia actual
- Š Permite parámetros con igual nombre que atributos
- Š Posibilita la llamada a otros constructores
y para finalizar :
Métodos (static) de la clase:
Los métodos estáticos, sólo pueden acceder a sus propios argumentos y a las variables estáticas.
El método main() es estático, porque la aplicación tiene que acceder a él para ejecutarse, antes de que realice cualquier instancia.
Los métodos estáticos no se pueden sobreescribir
Inicializadores estáticos
- Bloques de inicialización estática
- Una clase puede tener código estático que no exista dentro del cuerpo de un método.
- El bloque estático se ejecuta sólo una vez, cuando se carga la clase.
- Los diferentes bloques dentro de una misma clase, se ejecutan en el orden en que aparecen.
Ejemplo:
public class Persona
{
int dni; // documente nacional de identidad
String name; // nombre del sujeto
String pais; // pais procedencia
Persona(int a, String b, String c){
this.dni = a;
this.name = b;
this.pais = c;
}
}
public class usafecha1
{
public static void main(){
Persona p1 = new Persona(123,"Adan","Vietann");
Cuenta1 c1 = new Cuenta1(p1,01,1,2000);
Persona p2 = new Persona(124,"Eva","Poland");
Cuenta1 c2 = new Cuenta1(p2,02,1,8000);
Cuenta1.mostrarEstadoCuenta(p1, c1);
Cuenta1.retirarPlata(c1, 100);
Cuenta1.mostrarEstadoCuenta(p1, c1);
Cuenta1.mostrarEstadoCuenta(p2, c2);
Persona p3 = new Persona(124,"Michell","Chile");
Cuenta1 c3 = new Cuenta1(p3,03,2,50000);
Cuenta1.mostrarEstadoCuenta(p3, c3);
}
}
public class Cuenta1
{
Persona p; // persona natural
int ccodigo; // codigo de cuenta
int ctipo; // 1: ahorro, 2: corriente, 3: debito
double cfondo; // fondo monetario que tiene la cuenta
Cuenta1(Persona pi, int cc, int ct, double cf){
this.p = pi;
this.ccodigo = cc;
this.ctipo = ct;
this.cfondo = cf;
}
// Metodos
public void setFondo(double ff){
cfondo = ff;
}
public static void retirarPlata( Cuenta1 c, double canti ){
c.setFondo( c.cfondo - canti );
}
public static void mostrarEstadoCuenta( Persona p, Cuenta1 c ){
System.out.println("*************************");
fecha1.informarFecha();
System.out.println("DNI :" + p.dni);
System.out.println("Nombre :" + p.name);
System.out.println("Pais :" + p.pais);
System.out.println("Codigo cuenta :" + c.ccodigo);
System.out.println("Tipo cuenta :" + c.ctipo);
System.out.println("Fondo :" + c.cfondo);
System.out.println("*************************");
}
}
Comentarios
Publicar un comentario
Deja tus comentario