COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables...

21
COMPRENDER LAS DEFINICIONES DE CLASE 1

Transcript of COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables...

Page 1: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

COMPRENDER LAS

DEFINICIONES DE

COMPRENDER LAS

DEFINICIONES DE

CLASE

1

Page 2: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

� Dentro de una clase definiremos:� Campos � Almacenan datos que serán usados por el objeto.

� Constructores � Métodos de inicialización del objeto.

� Métodos � Implementan el comportamiento del objeto.

� Normalmente encontraremos estos elementos en � Normalmente encontraremos estos elementos en el siguiente orden:

public class NombreClase {

CamposConstructoresMetodos

}

2

Page 3: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

� Para definir una nueva clase usaremos la palabra reservada class.

� Delante de nuestra clase pondremos el modificador de acceso que deseemos.

� Seguidamente daremos nombre a la clase.

� Incluiremos los distintos elementos que componen la clase entre los corchetes.

public class NombreClase {……

}

3

Page 4: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

� También denominados variables de instancia.

� Almacenan datos para que un objeto los use.

� Representan el “estado” de un objeto.

� En la definición de campos debemos incluir su modificador de acceso así como el tipo de datos que va a guardar.

� Mas adelante veremos los tipos de datos disponibles.

private tipoDatos nombreCampo

4

Page 5: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

� A lo largo de nuestro código podemos incluir líneas de comentario que no serán interpretadas por el compilador y que nos servirán para incluir aclaraciones.

� Hay tres tipos de comentario:� Comentarios de una línea:

// Línea de comentario

� Comentarios multilínea:/*

* …..*/

� Comentarios de documentación:/**

* ….*/

5

Page 6: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

� Los constructores se encargan de inicializar los objetos en el momento de su creación.

� Estos métodos deben ser siempre públicos.

� No definirán ningún valor de retorno.� No definirán ningún valor de retorno.

� Su nombre será exactamente el mismo nombre que hayamos dado a la clase.

� Como cualquier otro método los constructores pueden recibir parámetros que cambiarán su ejecución.

6

Page 7: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

public class CFecha {

private int dia;private int mes;private int año;

public Cfecha(){dia=1;mes=1;año=2012;

}}

7

Page 8: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

� En java todas las variables de instancia son inicializadas automáticamente.� Los valores numéricos se inicializarán a 0.

� Las variables de tipo String se inicializan a Null.

� Las variables booleanas se inicializan como False.

� Las referencias a objetos se inicializan como Null.

8

Page 9: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

� Podemos pasar datos a un método mediante parámetros.

� Como hemos dicho esto mismo se puede hacer con los constructores.

� Para cada parámetro debemos indicar el tipo de datos que debe recibir.

public CFecha (int d, int m, int a){dia=d;mes=m;año=a;

}

9

Page 10: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

class UnaClase

{

variables miembro de la clase (atributos)

public void unMetodo (lista de parámetros)

{

variables locales

Clase

variables locales

una sentencia compuesta

{

variables locales

}

}

}

Método

Bloque

Page 11: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

� Los distintos tipos de variables que se definen tiene distinto tiempo de vida.

� Variables de instancia � Existirán mientras exista el objeto.

� Parámetros de un método � Existirán durante la ejecución del método destruyéndose a su finalización.del método destruyéndose a su finalización.

� Variables de método � Existirán durante la ejecución del método destruyéndose a su finalización.

� Variables locales a un bloque de código � Existirán hasta que termine la ejecución de ese bloque de código.

11

Page 12: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

� La sentencia de asignación nos permite asignar valores tanto a las variables de instancia como a las variables locales que podamos definir en los distintos métodos.

� Hay dos tipos de asignación:� Hay dos tipos de asignación:� Directa � Le asignamos un valor concreto.

año = 2012;

� Indirecta � Le asignamos el valor que tenga otra variable del mismo tipo de datos.

año = a;

12

Page 13: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

� Los métodos nos van a permitir relacionarnos con los objetos.

� Posibles usos:� Acceder a los valores de las variables de instancia.� Modificar los valores de las variables de instancia.� Realizar cálculos u operaciones con dichos valores.� Realizar cálculos u operaciones con dichos valores.

� Sintaxis de definición de un método:[modificador] tipo-resultado nombre-método ([lista de parámetros]){

Declaración de variables locales;Sentencias;[return [(]expresión[)]];

}

13

Page 14: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

� Devuelven información sobre el estado de un objeto.

� Normalmente nos devolverán el valor de una de las instancias de clase.

� Tendrán como tipo de retorno el tipo correspondiente a la variable de instancia a la que nos dan acceso.

public int getAño(){

return año;}

14

Page 15: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

� Métodos que nos van a permitir modificar el estado de un objeto.

� Este método tendrá un parámetro del mismo tipo de datos que la variable de instancia que tipo de datos que la variable de instancia que desea modificar.

public int setAño(int a){

año=a;

}

15

Page 16: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

� Si deseamos mostrar mensajes a través de la salida estandar (pantalla) tendremos que utilizar la siguiente sentencia:

System.out.println(“texto a mostrar”);

� Podemos usar los valores de las distintas variables para que el texto mostrado sea distinto según el estado del objeto:

System.out.println(“Año: “ + año);

16

Page 17: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

� Vamos a ver el proyecto naive-ticket-machine.

� En el vamos a identificar los distintos elementos que hemos explicado hasta ahora.elementos que hemos explicado hasta ahora.

17

Page 18: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

� Para poder hacer variar el comportamiento de nuestros métodos en función de los valores de las variables necesitamos incorporar sentencias condiciones.

IfIfIfIf (condición)sentencia 1;

[elseelseelseelsesentencia 2:]

//Código anterior.//Código anterior.if (a==b*5){

x=4;a=a+x;

}else

b=0://Siguiente línea del programa.

18

Page 19: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

ifififif (condicion1){

ifififif(condicion 2)sentencia 1;

}elseelseelseelse

sentencia 2;

//Código anteriorif (a==0){

if (b !=0)s=s+b;

}else

s=s+a;

19

Page 20: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

� Una variable local es una variable que se declara y se usa dentro de un solo método.

� Como ya hemos comentado, su alcance y tiempo de vida se limita a la ejecución del método.

public int calcularInteres ( int tipo){public int calcularInteres ( int tipo){int interes;interes=saldo*(tipo/100);return interes;

}

� Si una variable local se llama igual que una variable de instancia, la variable local “oculta” la de instancia dentro de ese método.

20

Page 21: COMPRENDER LAS DEFINICIONES DE CLASEhorarioscentros.uned.es/.../diapositivastema2.pdf · Variables de método Existirán durante la ejecución del método destruyéndose a su finalización.

� Vamos a revisar el proyecto better-ticket-machine.

� Vamos a identificar los cambios incorporados y las mejoras en la funcionalidad.y las mejoras en la funcionalidad.

21