- Introducción
- atributos
- métodos
Java es un lenguaje de programación orientado a objetos.
Un objeto encapsula:
En la programación orientada a objetos estos colaboran entre sí para alcanzar un objetivo
La colaboración se establece mediante el paso de mensajes (llamadas a métodos).
- Definición de una clase
- Atributos. Atributos estáticos
- private --> Ámbito: La clase
- ""--> Ámbito --> El paquete
- protected --> Ámbito: La clase e hijas
- public --> Ámbito: El resto de clases
- Métodos. Métodos estáticos
- Creación de Objetos
- Paso por valor y por referencia
- Sobrecarga de métodos
- Finalización
public class Punto{ //"public" es el modificador de acceso; "Punto" es el nombre de la clase
private float x;//Atributos
private float y;//Atributos
public Punto(){ //método (en este caso es el constructor)
x=0.0f;
y=0.0f;
}
//...
public float getX(){//método
return x;
}
public class Punt{
private float x; // Modificador de acceso; Tipo; Nombre
private float y; // Modificador de acceso; Tipo; Nombre
//...
}
Modificadores pueden ser de tipo:
class UnaClase{
private static int nInstancias = 0; // Atributo de clase
public static final float E = 2.8182f; // Constante; Normalmente utilizamos "final" para variables que no van a ser modificadas en un futuro --> constantes.
}
//...
UnaClase.E;
new UnaClase().E;
public class Punto{
//...
public Punto(){ //Modificador de acceso; Nombre; Lista de argumentos (en este caso no hay)
x=0.0f;
y=0.0f;
}
public float getX(){//Modificador de acceso; Tipo de retorno; Nombre; Lista de argumentos (en este caso no hay)
return x;
}
public void setX (float x){ //Modificador de acceso; Nombre; Lista de argumentos
this.x=x;
}
}
Class UnaClase{
private static int nInstancias =0;
public static float E = 2.8182f;
private int entero;
public UnaClase(){
nInstancias++;
}
public static int cuantasInstancias(){
return nInstancias; //No hay problema
}
private static void intentaAcceso(){
entero = 0; // Error
}
public class Punto{
public Punto(){ //constructor por defecto
x=0.0f;
y=0.0f;
}
public Punto(float x, float y){ //constructor con parámetros
this.x = x; //"this" se refiere a "este objeto"
this.y = y;
}
}
public class bloqueStatic{
static double tablaSeno[] = new double[360];
static{
for(int i=0; i=360; i++)
tablaSeno[i] = Math.sin(Math.PI*i/180.0);
}
public static void main (String args[]){
for(int i=0; i<360; i++)
System.out.println("Angulo: "+i+" Seno= "+tablaSeno[i]);
}
}
public class pasoPorReferencia{
private static void cambiaReferencia(Punto puntoLocal){
puntoLocal = nre Punto(1.0f, 2.0f);
System.out.println("Estoy dentro del método.");
puntoLocal.print();
}
public static void main(String args[]){
Punto unPunto = nre Punto();
System.out.println("Estoy fuera del método.");
unPunto.print();
cambiaReferencia(unPunto);
System.out.println("Estoy fuera del método.");
unPunto.print();
}
}
public class Punto { //Esta clase tiene métodos con el mismo nombre pero con distintos argumentos. El tipo del valor devuelto no sirve para distinguir.
public Punto() {
x = 0.0f;
y = 0.0f;
}
public Punto(float x, float y) {
this.x = x;
this.y = y;
}
//…
}
Antes de que el recolector de basura elimine un objeto de memoria, siempre se llama a su método "finalize".
La utilidad puede ser, por ejemplo, cerrar un fichero que el objeto mantenga abierto; o cerrar una conexión mediante un socket; o detener los posibles hilos (threads) que se mantengan activos...
No hay comentarios:
Publicar un comentario