Sunteți pe pagina 1din 9

OBJETOS Y CLASES

ESTRUCTURA DE UN PROGRAMA

Un programa java es un conjunto de clases, donde una de ellas es especial en dos


aspectos:
 Contiene una operación llamada main
 Habitualmente no se crean objetos de esta clase
 El sistema invoca el método main al ejecutar el programa

CLASES

Las clases son abstracciones que representan a un conjunto de objetos con un


comportamiento e interfaz común. Se puede considerar a una clase como "un
conjunto de cosas que tienen el mismo comportamiento y características".
Una clase es una plantilla para un objeto.
OBJETOS

Un objeto es la representación del estado y comportamiento de un objeto real o


abstracto. Como elemento de programa, se caracteriza por:

ATRIBUTOS: Son datos contenidos en el objeto, y que determinan su estado.


Los atributos que se pueden declarar son de tres tipos: tipo primitivo, arreglo o de
clase.

MÉTODOS: Son acciones que representan el comportamiento del objeto, con las
que se puede solicitar información del objeto, o modificarlo.
Un objeto responde a un mensaje, ejecutando un método.
Un método puede tener por nombre cualquier identificador legal distinto de los ya
utilizados por los nombres de la clase en que está definido.
Los métodos pueden o no devolver valores; y pueden o no aceptar varios
argumentos.
La forma general de una declaración de método es:

tipo_devuelto nombre_de_método( lista-formal-de-argumentos )


{
cuerpo_del_método;
}

CONTROL DE ACCESO

Cuando se crea una nueva clase en Java, se puede especificar el nivel de acceso
que se quiere para las variables de instancia y los métodos definidos en la clase:

public:
Cualquier clase desde cualquier lugar puede acceder a las variables y métodos de
instancia públicos.

protected:
Sólo las subclases de la clase y nadie más puede acceder a las variables y métodos
de instancia protegidos.

prívate:
Las variables y métodos de instancia privados sólo pueden ser accedidos desde
dentro de la clase. No son accesibles desde las subclases.

Ningún Calificador:
Toda variable/método carente de calificador será accesible dentro de todas las
clases pertenecientes a su misma librería ("package").
DEL DIAGRAMA DE CLASES AL JAVA
EL OPERADOR PUNTO (.)

El operador punto (.) se utiliza para acceder a las variables de instancia y los
métodos contenidos en un objeto, mediante su referencia a objeto:

referencia_a_objeto.método(lista-de-argumentos);

Ejemplos:

wVariable = Cuenta.balance; // Obtiene el saldo de la cuenta

Cuenta.ingresar(200.00); // Ejecuta método ingresar con un valor de


200.00

System.out.println(“Mensaje”); // Ejecuta el método println del


objeto System.out
LA REFERENCIA THIS
Java incluye un valor de referencia especial llamado this, que se utiliza dentro de
cualquier método para referirse al objeto actual. Se puede utilizar this siempre que
se requiera una referencia a un objeto del tipo de una clase actual. Si hay dos
objetos que utilicen el mismo código, seleccionados a través de otras instancias,
cada uno tiene su propio valor único de this.

CONSTRUCTORES

Un constructor es un método que se inicia inmediatamente después de la creación


de un objeto (al utilizar el operador new). De esta forma se evita el tener que
inicializar los atributos explícitamente.
El constructor tiene exactamente el mismo nombre de la clase que lo implementa.
Puede haber varios constructores, de acuerdo a las necesidades del usuario.

public class MiPunto


{
int x,y;
MiPunto (int x, int y) {
this.x = x;
this.y = y;
}
int MetodoSuma()
{
return x+y;
}
}
EL OPERADOR NEW

El operador new crea una instancia de una clase (objeto) y devuelve una referencia
a la ubicación en la memoria de ese objeto.
Cuando ya no haya ninguna variable que haga referencia a un objeto, Java reclama
automáticamente la memoria utilizada por ese objeto, a lo que se denomina
recogida de basura (garbage collector).

Ejemplos:

MiPunto origen = new MiPunto(0, 0);


MiPunto wpunto = new MiPunto(4, 10);
Cuenta cuentanormal = new Cuenta();
Cuenta cuentaVIP = new Cuenta(6000.00);

Cada una de estas sentencias tiene tres partes:

Declaración: El código en negrita son declaraciones de variables que asocian un


nombre de variable con un tipo de objeto.
Instanciación: La palabra clave new es un operador Java que crea una instancia
de la clase (el objeto).
Inicialización: El operador new precede a una llamada a un constructor, que
inicializa el objeto nuevo.

INICIALIZACIÓN POR DEFECTO EN LAS VARIABLES DE INSTANCIA.

Cuando se crea un objeto con el operador new por defecto:


- Las variables de tipo numérico se inicializan en 0.
- Las variables de tipo char se inicializan a ‘\0’ (valor ASCII para null).
- Las variables de tipo boolean se inicializan a false.
- Las variables de tipo no primitivo se inicializan a null (palabra reservada que
indica que la referencia no apunta a ninguna parte).

DECLARAR UNA VARIABLE PARA QUE SE REFIERA A UNA CLASE

Anteriormente hemos aprendido que, para declarar una variable, se debe escribir,
por ejemplo:

int nombre;

Esto le indica al compilador que se utilizará nombre para referirse a datos cuyo tipo
es int. Con una variable primitiva esta declaración también reserva la cantidad
adecuada de memoria para la variable.

También se puede declarar una variable de referencia a una clase, por ejemplo:
MiPunto origen;

Si declara origen de este modo, su valor será indeterminado hasta que en efecto se
cree un objeto y se le asigne. La simple declaración de una variable de referencia
no crea un objeto. Para ello necesitará utilizar el operador new tal y como se
describió en la anterior sección. Debe asignar un objeto a origen antes de utilizarlo
en su código. De lo contrario obtendrá un error de compilación.

origen = new MiPunto(0, 0);

USO DE SENTENCIAS DE ASIGNACIÓN

Cuando usamos datos primitivos, las sentencias de asignación copian valores.


Cuando usamos objetos, las sentencias de asignación copian referencias.

Ejemplo:
Cuenta miCuenta = new Cuenta();
Cuenta tmp;

tmp = miCuenta; // Copia la referencia

tmp.ingresar(150.00); // Se hace un ingreso a miCuenta…!


EJEMPLO 1. Clase Rectángulo con 4 constructores.

public class Rectangulo {


public int base = 0;
public int altura = 0;
public MiPunto origen;

// cuatro constructores
public Rectangulo() {
origen = new MiPunto(0, 0);
}
public Rectangulo(MiPunto p) {
origen = p;
}
public Rectangulo(int b, int h) {
origen = new MiPunto(0, 0);
base = b;
altura = h;
}
public Rectangulo(MiPunto p, int b, int h) {
origen = p;
base = b;
altura = h;
}

// un método para mover el rectángulo hacia un nuevo origen


public void move(int x, int y) {
origen.x = x;
origen.y = y;
}

// un método para calcular el área del rectángulo


public int getArea() {
return base * altura;
}
}

S-ar putea să vă placă și