Está en la página 1de 10

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

PAQUETES
Los paquetes son el mecanismo por el que Java permite agrupar clases,
interfaces, excepciones y constantes. De esta forma, se agrupan conjuntos de
estructuras de datos y de clases con algún tipo de relación en común. Para
declarar un paquete se utiliza la sentencia package seguida del nombre del
paquete que se esté creando:

BIBLIOTECAS DE LA API DE JAVA


Estas clases se pueden incluir en los programas Java, sin temor a fallos de
portabilidad, y organizadas en paquetes y en un árbol de herencia. A este conjunto
de paquetes (o bibliotecas) se le conoce como la API de Java (Application
Programming Interface).

Para importar clases de un paquete se usa el comando import. Se puede importar


una clase individual
import java.awt.Font;
o bien, se puede importar las clases declaradas públicas de un paquete completo,
utilizando un arterisco (*) para reemplazar los nombres de clase individuales.

import java.awt.*;

Paquetes de utilidades:

 java.lang: Fundamental para el lenguaje. Incluye clases como String o


StringBuffer, se importa implícitamente sin necesidad de una sentencia
import.
 java.io: Para la entrada y salida a través de flujos de datos, y ficheros del
sistema.
 java.util: Contiene colecciones de datos y clases, el modelo de eventos,
información del sistema, y otras clases de utilidad.
 java.math: Clases para realizar cálculos con la precisión que se desee.

Paquetes para el desarrollo gráfico:

 java.awt: Para crear interfaces con el usuario, y para dibujar imágenes y


gráficos.
 javax.swing: Conjunto de componentes gráficos que funcionan igual en
todas las plataformas que Java soporta.
 java.applet: Para crear applets y clases que los applets utilizan para
comunicarse con su contexto (applet es un componente de una aplicación
que se ejecuta en el contexto de otro programa, por ejemplo, en un
navegador web).
 java.net: Se usa para leer y escribir datos en la red.

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


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;
}
}

También podría gustarte