You are on page 1of 20

Java II

Clases, objetos.

Contenido
z

Clases

Modificadores de acceso a la clase


Atributos
z

Mtodos
z
z
z
z

Modificadores de acceso
Modificadores de acceso
Tipo de retorno
Argumentos
Constructores

Objetos

Declaracin
Inicializacin
Operador punto

Clase
z
z
z

El elemento bsico de la programacin orientada a objetos en


Java es una clase.
Las acciones de los programas se colocan dentro del bloque
de una clase.
Las clases tpicas tienen:

z
z

variables de instancia (campos o atributos) y


mtodos (funciones miembro)

Los mtodos de instancia definen la interfaz funcional de los


objetos (comportamiento de los objetos). (Qu puede hacer el
objeto)
Las variables de instancia (atributos) determinan el estado
de un objeto. (Caractersticas del objeto).
Cada clase Java deriva, directa o indirectamente, de la clase
Object.

Clase
Sintaxis
Modificadores de acceso a la clase class Nombre de la clase [extends
superclase de la que hereda][implements interfaz que implementa]
Ejemplos:
public class NuevaClase extends ClaseAnterior implements ClaseInterfaz{}
public class Cuadrado extends Figuras{}
public class VentanaWindows implements Ventana{}
El nombre debe ser un identificador vlido. Por convencin, se empieza el
nombre de las clases con una letra mayscula.

Estructura de la clase
NombreDeLaClase {
// declaracin de los campos
// metodosConsructores () {
// cuerpo }
//metodosDeLaClase() {
// cuerpo }
//metodoPrincipal(){
// cuerpo }
}

public class Circulo{


private float radio;
private String color;
public Circulo(float r, String c)
{
radio = r;
color=c;
System.out.println("El radio del crculo es "+ radio+" y su color es "+ color);
}
public float diametro(){
return 2*radio;
}
public double area(){
return Math.pow(radio,2)*Math.PI;
}
public static void main(String[] args)
{
Circulo c1=new Circulo(5.0f,azul);
System.out.println("El area del circulo es " + c1.area());
}
}

Modificadores de la clase
z
z

public. Significa que la clase estar disponible para el resto de


las clases.
abstract. Una clase abstracta se considera incompleta y no se
pueden crear instancias de dicha clase (no se pueden crear
objetos). Esto sucede porque la clase contiene mtodos
abstract que deben ser implementados por una subclase (el
mtodo est definido en la clase pero no implementado).
final. Una clase final no admite subclases.

Se pueden utilizar varios modificadores para la declaracin de una


clase. Ninguna clase puede ser final y abstract.

Atributos o campos
z
z

Variables que se declaran dentro de la clase y fuera de un mtodo


concreto.
El conjunto de todas las variables de instancia (atributos) de un objeto
determinan su estado.

Sintaxis
Modificadores_de_atributos Tipo_de_dato Nombre_de_la variable [=valor];

Ejemplos
class Punto {
public int x, y;
}

public class Circulo{


private float radio;
public float diametro(){
return 2*radio;
}
}

Modificadores de atributos
z

Modificadores de acceso:

predeterminado. Accesibles desde las clases del paquete


private. Accesibles en la propia clase
protected. Accesibles en las subclases de la clase y en la propia
clase.
public. Accesible donde la clase sea accesible.

static. Conocidas como variables de clase. Slo existe una


copia de ese campo, independientemente del nmero de
instancias de la clase que se creen (objetos).
Un atributo static puede ser referido directamente dentro de su
propia clase, pero cuando se accede a l externamente, hay
que utilizar el nombre de la clase.
final. El valor no puede cambiar despus de ser inicializado.
Ejemplo:
private static final double PI=3.14159;

Mtodos de la clase
z
z
z
z

Pueden entenderse como funciones.


El conjunto de todos los mtodos representa el comportamiento de un
objeto.
Se invocan dentro de la propia clase o por otras clases que tengan acceso.
La implementacin de un mtodo consta de dos partes:

La declaracin indica todas las caractersticas del mtodo:

declaracin y
cuerpo
nombre,
modificadores,
tipo de retorno y
parmetros de entrada.

El cuerpo es la implementacin del mtodo.

Sintaxis
Modificador_del_mtodo Tipo_de_retorno nombreDelMtodo(lista de
parmetros) {cuerpo_del_mtodo;
}

Modificadores de los mtodos


z

Acceso:

z
z

predeterminado. Accesibles desde las clases del paquete.


private. Accesibles en la propia clase en la que se declara.
protected. Accesibles en las subclases de la clase y en la propia
clase.
public. Son accesible donde la clase sea accesible.

abstract. Carece de implementacin. Una subclase ser la


responsable de proporcionar la implementacin del mtodo.
static. Un mtodo declarado static no necesita de un objeto
para ser invocado, se puede llamar directamente desde la
clase que lo implementa. El mtodo esttico ms comn es
main. Tambin en las clases Float o Math se pueden encontrar
mtodos estticos como FloattoString o Math.abs.
final. No puede ser modificado por ninguna subclase.

Tipo de retorno
z
z
z

Es necesario que en la declaracin de un mtodo, se indique el


tipo de dato que ha de devolver.
Es posible devolver un tipo primitivo o una referencia (otro
objeto).
Si el mtodo no devuelve ningn valor, se indicar el tipo void
como retorno.

Ejemplo:
public static void main(String[] args)
public float getRadio()
private static double pideDouble(String mensaje)

Nombre del mtodo


z
z

Identificador vlido en Java.


Por convencin la primera letra es minscula y las
siguientes primeras letras de las palabras que
formen el nombre son maysculas.
Ejemplo:
getColor()
getNombreCliente()
setTelefonoClientePromotora()

Parmetros de entrada
z
z
z
z

Se utilizan para pasar informacin al mtodo y son


opcionales.
Pueden ser tipos de datos primitivos u objetos.
Cada parmetro tiene asociado un nombre y un tipo
de dato.
En la invocacin del mtodo se deben incluir los
parmetros en el mismo orden que estn
declarados.
Ejemplo:
public int vehiculo(String p, String m, float v)

Mtodos constructores
z
z
z
z

z
z
z

Tipo especfico de mtodos tienen el mismo nombre que la


clase.
Estos mtodos controlan cmo se crea e inicializa un objeto.
Gracias a la sobrecarga se pueden definir diversos
constructores (Mismo nombre distintos parmetros).
Si no hay constructor -> constructor por defecto que inicializa
cada atributo usando los valores por defecto (los tipos
primitivos se inicializan a 0 y los tipos referencia se inicializan a
null).
El nombre del constructor igual al de la clase.
Puede recibir cualquier argumento
No devuelve ningn valor (ni siquiera se declara void).

Otras caractersticas de los mtodos


Sobrecarga varios mtodos pueden tener el mismo nombre y
declararse en el mismo mbito mientras sus declaraciones (los
parmetros de entrada del mtodo) sean diferentes.
z El compilador puede deducir cul es el mtodo que se
pretende aplicar en base a la lista de parmetros actuales.
Ejemplo:
float suma(float a, float b)
int suma(int a, int b, int c)
Anulacin. (Overriding). Una subclase puede sobreescribir el
mtodo heredado de una superclase

Objetos
z
z
z
z

Instancia de una clase.


Es una referencia. Una referencia es una variable que guarda
la direccin de memoria en la que se almacena un objeto.
Valor por omisin null, no referencia a ningn objeto.
Cada objeto tiene un estado y un funcionamiento.

z
z
z
z

Estado-> variables de instancia (atributos),


Funcionamiento -> determinado por sus mtodos.
Identidad->Object ID.

El funcionamiento del objeto se activa invocando a sus


mtodos.
Los mtodos pueden cambiar el estado del objeto.
Los objetos cumplen con los contratos de la clase.
Las operaciones permitidas para los tipos referencia son las
asignaciones (=) y las comparaciones (==, !=).

Declaracin
En la declaracin de un objeto se asigna un nombre para referenciar al
objeto, pero no se crea el objeto propiamente dicho.
Sintaxis:
NombreDeClase nombredelavariable;
Ejemplos:
Circulo c2;
Circulo c1, c3;

null y new
z
z

null. Indica que no se ha asignado ningn espacio para el


objeto.
new. Construye un nuevo objeto.

Ejemplo:
Circulo c1=new Circulo();
Figura fig;
fig=new Figura();
Se pueden crear mltiples referencias (variables) al mismo objeto.
Ejemplo:
Circulo c1=new Circulo();
Circulo c2=c1;

Operador punto (.)


z

Se utiliza para acceder a las variables de instancia (atributos) y los


mtodos contenidos en un objeto.

Sintaxis:
nombre_del_objeto.atributo;
nombre_a_objeto es una referencia a un objeto y atributo es el nombre
del atributo contenido en el objeto al que se desea acceder.
Ejemplo:
c1.radio=56,4;
System.out.println("El radio de c1 es " + c1.radio);

You might also like