Вы находитесь на странице: 1из 35

Clases

Temas de esta sección

• ¿Que es una clase?


• ¿Que es un objeto?
• ¿Miembros?
• Usando Clases
• Métodos
• Modificadores de acceso
• Constructores
• La palabra reservada this
¿Que es una clase?

Una clase es una agrupación de


definición de datos (variables o
campos) y de funciones (métodos)
que operan sobre esos datos.

Las clases especifican que tipo de


propiedades y funciones tendrán los
objetos que se creen a partir de ellas.
Los objetos son entidades que tienen un
determinado estado, comportamiento (método) e
identidad:
El estado está compuesto de datos, será uno o varios
atributos a los que se habrán asignado unos valores
concretos (datos).
El comportamiento está definido por los métodos o
mensajes a los que sabe responder dicho objeto, es
decir, qué operaciones se pueden realizar con él.
La identidad es una propiedad de un objeto que lo
diferencia del resto, dicho con otras palabras, es su
identificador (concepto análogo al de identificador
de una variable o una constante).
Un estado: el
color específico

Un comportamiento
relinchar

Una identidad: azabache


Ejemplo

class EjemploConLaClaseTriangulo
{
static public void main(String args)
{
Triangulo triangulo01, triangulo02;
triangulo01 = new Triangulo (10.0,3.0);
Triangulo02 = new Triangulo(15.0,25.0);
System.out.printer(«Area Triangulo 1:¨ + triangulo01.calcularArea);
System.out.printer(«Area Triangulo 2:¨ + triangulo02.calcularArea);

}
}
Miembros
Llamaremos miembros de una clase a sus
variables y a sus métodos.
Ya definimos que es una variable

La pregunta entonces es que es un método ??


class EjemploClase
{
int variable01;
void metodo01(int arg01,double arg02)
{
//operaciones con los argumentos
}
}
Ejemplo02

class Triangulo
{
double base,altura;

void ajustarBaseYaltura(base,altura)
{
this.base = base;
this.altura = altura;
}
double calcularArea()
{
return base*altura;
}
}
Métodos
En Java toda la lógica de programación
(Algoritmos) está agrupada en funciones o
métodos.
Un método es, entre otras cosas:
• Un subprograma
• Un bloque de código que tiene un nombre.
• Son las acciones funciones o procedimien-
tos que realiza nuestro programa.
• Son subrutinas que manipulan los datos
definidos por una clase.
Un bloque es un conjunto de instrucciones encerradas entre dos llaves.
Métodos
Los métodos reciben unos parámetros o argumentos (opcionalmente

Ejemplo de método si parámetros.

void eliminarVentana()
{
instrucciones
}

Ejemplo de método con pase de parámetros.

void cambiaValorMiembroArreglo(pos int, int[] arreglo)


{
intrucciones
}
La palabra reservada void indica que el método no devuelve ningún valor cuando se le
invoca.
Métodos

Contiene sentencias o
instrucciones para realizar algo
(opcionalmente)..
Ejemplo

double calcularAreaTriangulo(double base, double altura)


{
return base*altura/2;
}
ç

Si el método devuelve un valor, hay que especificar el tipo y utilizar la palabra


reservada return y una expresión asociada que devuelva el resultado del método
Referencias a objetos
acceso a sus miembros
Referencias a objetos, acceso visibilidad

Un buen ejemplo de las referencias en java,


es el sistema de tarjetas de débito.
La tarjeta tiene, información acerca de
donde está el dinero y cuanto. Pero ella en
si misma no es dinero, ni con-tiene dinero.
Referencias iguales

Ambas tarjetas afectan a la


misma cuenta.
Referencias a objetos

objetoA
ClaseX objetoA, objetoB;
objetoA = new ClaseX(); objetoB
objetoB = new ClaseX();

Cada vez que se usa new, se crea


un nuevo objeto.
El identificador, el objeto y las referencias.

Cada identificador, de un objetoA


objeto, lo que guarda es la
referencia al objeto. objetoB

Identificador objetoA diferente que el Objeto A

La información que guarda, el


identificador es relativa-mente
pequeña.
Cuando se igualan dos identificadores de objeto.

ClaseX objetoA,objetoB;
objetoA = new ClaseX();
objetoB = objetoA;
Los identificadores, apun-tan objetoA
al mismo objeto

objetoA

objetoB
Cuando mueren los identificadores de objeto.

objetoA
objetoA
Cuando se borra el único
identificador de un
objeto, actúa el re-
colector de basura de
java, para eliminar el
objeto de la memoria.
Cuando se mueren los identificadores de objeto.

La vida de una variable, ocurre dentro del bloque


de instrucciones en donde se creó ese objeto.

{
¨
ClaseX objetoX; // Se declara el objeto
objetoX = new ClaseX(); // Se crea el objeto

} //Se pierde la referencia al objeto.

Actua la recoletora de basura.


Visibilidad de las variables y los métodos

variables

metodos
Acceso a las variables y métodos
public de una clase.

• Una clase encapsula variables y los códigos


que se requieren para manipular esas varia-
bles.
• Como esto es así, es preferible, impedir el
control externo de estas variable y solo ha-
cerlo a través de los códigos con los que
cuenta el objeto. La palabra reservada public se
utiliza para expandir el ámbito
de visibilidad de una variables.
public Clasex objetoClaseX public indica que la variable es
visible fuera del objeto que
instancia la clase.
private

private claseX objetoX;

private hace invisible las varia-bles del


objeto, a los objetos externos.

Andrés Eloy Castillo R.


public

public claseX objetoX;

public hace visible las variables del


objeto, a los objetos exter-nos.

Andrés Eloy Castillo R.


Visibilidad de los métodos

• Los métodos de una clase también pueden ser


públicos y privados.

public ClaseW metodoX(args) {instrucciones}

private ClaseY metodoZ(args) {instrucciones}

metodoX puede ser llamado desde dentro y desde fuera del objeto
y de la clase, porque es public.

metodoZ solo puede ser llamado desde dentro de la clase o de sus


objetos instanciados, por que es private.
Datos de base y Objetos como parámetro de los métodos.

Los métodos ingresan variables externas a sus códi-gos, a


través de una lista de parámetros.

public void metodoX(lista de parametros){código}

void es una palabra re-


La lista de parámetros es una su-cesión servada de java.
de variables, Significa que el método
Antecedidas por su tipo, y separa-das no devuelve ningún va-
lor.
por coma.

Las variables pueden ser objetos, o pueden ser datos de base.


Métodos y su lista de parámetros, pase por valor.

Ejemplo de la lista de parámetros

(JFrame ventana, int altura, int ancho)


En una lista de parámetros, puede haber objetos (JFrame) o
datos de base (int).

En el caso de las variables primitivas (int, float, etc), se transfiere


el valor de la variable pero no la variable, por lo que el código,
del método no afecta el valor de la variable, fuera del método.
Métodos y su lista de parámetros, pase por valor.

El pase de parámetros, de objetos, se hace por


referencia, es decir se copia la referencia al objeto y
la entidad que señala la referencia es la que se
manipula.
Esto significa que el objeto al que se hace re-ferencia,
en la lista de parámetros, puede ser modificado por el
método.
objetoA
objetoA
MetodoX(objetoA)
{
referenciaObjetoA
}
return Lo que devuelven los métodos.

Los métodos pueden o no, devolver resultados, una vez


que su código es invocado, lo que de-vuelven los
métodos, son variables, ya sean de datos primitivos u
objetos incluyendo arreglos.
return es la palabra re-
servada, que se utiliza para
Ejemplo que el método de-vuelva un
dato a la enti-dad que lo
public char[] lasVocales() invoca.
{
char [] vocales = {‘a’,’e’,’e’,’i’,’o’,’u’};
return vocales;
} No se transfiere el objeto, si no la
referencia, al objeto.
Un método especial: El Constructor

Un constructor es un método
perteneciente a la clase que posee
unas características especiales.
El Constructor: características

• Se llama igual que la clase.


• No devuelve nada, ni siquiera void.
• Pueden existir varios, pero siguiendo las reglas de la
sobrecarga de funciones.
• De entre los que existan, tan sólo uno se ejecutará
al crear un objeto de la clase.
• Dentro del código de un constructor generalmente
suele existir inicializaciones de variables y objetos,
para conseguir que el objeto sea creado con dichos
valores iniciales.
El constructor permite:

Inicializar sus variables con


valores coherentes y
convenientes.
Ejemplo de constructor

class Triangulo
{
double base, altura; Este ejemplo tiene dos constructores
Triangulo()
{
base = 0.0;
altura = 0.0,
}
Triangulo(double baseTriangulo, double alturaTriangulo)
{
base = baseTriangulo;
altura = alturaTriangulo;
}

........mas instrucciones

}
Uso de la palabra reservada this

class Triangulo
{
La palabra reservada this permite especificar
double base, altura; que la variable que señala (y la señala
Triangulo() haciendo this.nombreVariable) es de la misma
{ clase en la que se usa.
base = 0.0;
altura = 0.0,
}
Triangulo(double base, double altura)
{
this.base = base;
this.altura = altura;
}

........mas instrucciones
this es valioso para hacer el código mas entendible
}
Resumiendo ..................................

• ¿Que es una clase?


• ¿Que es un objeto?
• ¿Miembros?
• Usando Clases
• Métodos
• Modificadores de acceso
• Constructores
• La palabra reservada this

Вам также может понравиться