D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

40
DECLARACIÓN DE CLASES Atributos, métodos y encapsulamiento.

Transcript of D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

Page 1: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

DECLARACIÓN DE CLASES

Atributos, métodos y encapsulamiento.

Page 2: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

CLASES.

En el contexto del análisis y el diseño, una clase es una categoría o grupo de cosas que tienen atributos y comportamientos comunes.

La acción de agrupar los objetos de acuerdo a sus características comunes se llama clasificación y es una habilidad que utilizamos los humanos para organizar el conocimiento.

La clasificación puede verse como la acción de colocar cada objeto en un casillero etiquetado exprofeso para alojar a todos los objetos de esa clase.

Page 3: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

Se acostumbra que los nombres para las clases se escriban en singular con la primera letra en mayúscula. Por ejemplo, los nombres para las clases de los objetos del aula serían:

Alumno Profesor Mesa Silla Pizarrón

Page 4: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

También podemos observar que hay objetos compuestos de otros objetos. Por ejemplo, la silla está compuesta de:

4 patas 1 respaldo 1 asiento A esta relación, donde un objeto está formado por otros

objetos, se le llama agregación. Otra relación consiste en que, a partir de un objeto

existente, se pueda crear otro nuevo objeto, agregándole nuevos atributos o comportamientos. Por ejemplo, agregándole una paleta a una silla obtenemos un mesabanco. Esta relación se llama derivación.

En este caso, a partir de la clase Silla se ha formado una nueva clase llamada Mesabanco.

Page 5: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

OBJETOS.

Un objeto es un instancia o caso particular de una clase.

Normalmente un objeto tiene una identidad personal que lo distingue de los demás objetos. De esta forma, un objeto tiene estado, comportamiento e identidad

Page 6: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.
Page 7: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

El estado de un objeto lo constituyen todos los datos que encapsula en un momento determinado. Un objeto tiene cierto numero de elementos que se conocen como atributos, cada uno de los cuales posee un valor.

El comportamiento es la manera en que actúa y reacciona un objeto, en función de sus cambios de estado y el paso de mensajes.

La identidad nos dice que un objeto tiene una existencia continuada. Por ejemplo los valores de los atributos de este objeto podrían cambiar, quizás como respuesta a un mensaje, pero seguiría siendo el mismo objeto.

Page 8: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

ATRIBUTOS.

Un atributo es una característica de un objeto. Por ejemplo, todos los objetos de la clase Lavadora tienen atributos como: la marca, el modelo, el numero de serie y la capacidad.

Por ejemplo:

miLavadora

LaudatoriumWashmeisterGL577747Kg.

Page 9: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

MÉTODOS.Método es un término utilizado en algunos lenguajes de programación para referirse a algún comportamiento de los objetos de una clase.

Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema

Page 10: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

ENCAPSULAMIENTO

Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente.

Page 11: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

INSTANCIACIÓN DE

CLASES

Page 12: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

Las clases son los objetos que java utiliza para soportar la programación orientada a objetos. Constituye la estructura básica sobre la que se desarrollan las aplicaciones.

Una clase permite definir propiedades y métodos relacionados entre si. Habitualmente, las propiedades son las variables que almacenan el estado de la clase y los métodos son los programas que se utilizan para consultar y modificar el contenido de las propiedades.

Page 13: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

Un ejemplo de clase podría ser un semáforo de circulación, cuyo estado se guarde en una propiedad EstadoSemaforo de tipo String que pueda tomar los valores “verde”, “amarillo” y “rojo”. Como métodos de acceso a la propiedad podríamos definir: PonColor(String Color) y StringDimeColor.

public class Semaforo {

String EstadoSemaforo="Rojo";

public void PonColor(String Color) { EstadoSemaforo= Color; } public String DimeColor(){ return EstadoSemaforo;

Page 14: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

Cuando definimos una clase, estamos creando una plantilla y definiendo un tipo. Con el tipo definido y su plantilla de código asociada (sus propiedades y métodos) podemos crear tantas entidades(instancias) de la clase como sean necesarias; de esta manera, en nuestro ejemplo, podemos crear varios semáforos() instancias de la clase Semaforo y hacer evolucionar el estado de estos “semáforos” de forma independiente.

Page 15: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

Para crear una instancia de la clase Semaforo, empleamos la palabra reservada new, después invocamos a un método que se llame igual que la clase.Semáforo MiSemaforo=new Semaforo();

public static void main(String[] args) {

Semaforo MiSemaforo = new Semaforo(); Semaforo SemaforoDeMiCalle = new

Semaforo(); Semaforo OtroSemaforo = new Semaforo();

Page 16: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

El resultado es que disponemos del tipo Semaforo (de la clase Semaforo) y de tres instancias (MiSemaforo, OtroSemaforo, SemaforoDeMiCalle) de la clase.

Es importante saber que en este momento existen tres variables diferentes implementando la propiedad EstadoSemaforo; cada una de estas variables puede contener un valor diferente, por ejemplo, cada semáforo puede presentar una luz distinta (“verde”, “rojo”, “amarillo”) en un instante dado.

Page 17: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

UTILIZACIÓN DE LOS MÉTODOS Y PROPIEDADES DE UNA CLASE

Para designar una propiedad o un método de una clase, utilizamos la notación punto:

De esta forma si deseamos poner en verde el semáforo SemaforoDeMiCalle.PonColor(“verde”);

Page 18: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

REFERENCIA AL

OBJETO ACTUAL

Page 19: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

REFERENCIA AL OBJETO ACTUAL

Todo objeto puede hacer referencia a si mismo, mediante la palabra clave This(lo que se conoce como una referencia this). En un método, la referencia this puede utilizarse en forma implícita y explicita para hacer referencia a las variables de instancia y otros métodos del objeto en el cual se haya llamado.

Page 20: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

EJEMPLO

Persona (string Nombre, int Edad, string NIF){ this.Nombre = Nombre; this.Edad = Edad; this.NIF = NIF;}

Page 21: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

Es decir, dentro de un método con parámetros cuyos nombres coincidan con campos, se da preferencia a los parámetros y para hacer referencia a los campos hay que prefijarlos con el this tal y como se muestra en el ejemplo.

Page 22: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

PRESENTANDO:

METÒDOS

Page 23: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

¿ QUE ES

UNMÈTODO ?

Page 24: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

Los métodos (procedimientos, funciones, subrutinas) nos

permiten encapsular un conjunto de instrucciones de manera que

puedan ser ejecutadas desde diferentes puntos de la

aplicación.

Page 25: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

Cuando se utiliza un método ya creado, se realiza la llamada del mismo, provocando la ejecución

de sus instrucciones y devolviendo, posteriormente, el flujo del control del programa

que llama al método.

Page 26: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

Un método es:Un bloque de código que

tiene un nombre, recibe unos parámetros o

argumentos (opcionalmente), contiene sentencias o

instrucciones para realizar algo (opcionalmente) y

devuelve un valor de algún Tipo conocido

(opcionalmente).

Page 27: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

SOBRECARGA DE MÉTODOS

Page 28: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

Es una de las formas en que Java implementa el polimorfismo.

Es un mecanismo muy útil que permite definir en una clase varios métodos con el mismo nombre.

Page 29: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

Para que el compilador pueda determinar a que método nos referimos en un momento dado, los parámetros de los métodos sobrecargados no pueden ser idénticos.

En algunos casos se puede aplicar la conversión automática de tipos Java

Page 30: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

EJEMPLO:

Para establecer las dimensiones de un objeto (anchura, profundidad, altura) en una medida dada podemos definir los métodos:

Dimensiones(double Ancho, double Alto, double Profundo, String Medida)

Dimensiones( String Medida, double Ancho, double Alto, double Profundo)

Dimensiones(double Ancho, String Medida, double Alto, double Profundo)

Dimensiones(double Ancho, double Alto, String Medida, double Profundo)

Page 31: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

Cuando realicemos una llamada al método Dimensiones(…), el compilador podrá determinar a cual de los métodos nos referimos por la posición del parámetro de tipo String.

Page 32: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

Un método se determina por su firma.

La firma se compone del nombre del método, numero de parámetros y tipo de parámetros (por orden de colocación).

De los 5 métodos sobrecargados anteriores, el primero y el ultimo presentan la misma firma, por lo que el compilador generará un error al compilar la clase.

Page 33: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

Los métodos sobrecargados pueden contener distinto numero de parámetros:

Dimensiones( String Medida) Dimensiones(double Ancho, double Alto,

double Profundo).

Page 34: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

En las líneas : prívate double X = 0d prívate double Y= 0d prívate double Z= 0d prívate String Tipo Medida= “centímetro”

Se declaran y definen valores iníciales para las propiedades privadas X,Y,Z, TipoMedida.

Page 35: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

En las líneas: Public void Dimensiones3D(double Ancho,

double Alto, double Profundo){

Se define el método Dimensiones3D , que permite asignar valores a las tres dimensiones espaciales de un objeto.

Public void TipoMedida(String Medida){

Se define el método TipoMedida, que permite asignar un valor a la propiedad del mismo nombre.

Page 36: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

En la línea public void Dimensiones(double Ancho,

double Alto, double Profundo, String Medida)

Define el primer método del grupo de 6 métodos sobrecargados Dimensiones. Los tres métodos Dimensiones siguientes simplemente hacen una llamada al primero, ordenando adecuadamente los argumentos de la invocación.

Page 37: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

Los últimos 4 métodos : DimeAlto DimeAncho DimeProfundo DimeMedida

Nos permiten conocer los valores de las propiedades de la clase, aumentando la funcionalidad de la clase Objetos3D.

Page 38: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

CLASE OBJETOS3D En las líneas: Objeto3D Caja= new Objeto3D(); Objeto3D Esfera= new Objeto3D(); Objeto3D Bicicleta = new Objeto3D();

Se declaran y definen tres instancias de la clase Objeto3D.

Page 39: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

En las líneas:Caja.Dimensiones(20.0,12.5,30.2,”c

entimetros”);Esfera.Dimensiones(10.0,”pulgadas

”,10.0,10.0);Bicicleta.Dimensiones(90.0,30.0,20.

0);

Se invocan diversas ocurrencias del método sobrecargado Dimensiones. Como en la instancia Bicicleta no se define el tipo de sus medidas, prevalece “centímetro” que ha sido asignada en la instrucción :

Objeto3D Bicicleta = new Objeto3D();

Page 40: D ECLARACIÓN DE C LASES Atributos, métodos y encapsulamiento.

Las líneas: System.out.println( Bicicleta.DimeMedida

() ); System.out.println( Bicicleta.DimeAlto() ); Imprimen la medida y la altura de la instancia

Bicicleta.

En la línea Bicicleta.Dimesiones(“pulgadas”); Se varia el tipo de medida empleada, lo que se

reflejara en la línea: System.out.println( DimeMedida() );