La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos Fundamentos de Programación Departamento.

Presentaciones similares


Presentación del tema: "Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos Fundamentos de Programación Departamento."— Transcripción de la presentación:

1 Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.4 Unidad Didáctica 1

2 UD1: Introducción a la Programación Orientada a Objetos Índice  Lenguajes de Programación Orientados a Objetos (LPOO)  Conceptos básicos de los lenguajes de programación  Conceptos básicos de los LPOO  Objeto  Interfaz  Clase  Atributos  Métodos  Constructores  Observadores  Modificadores  Paquete  Convenciones para nombrar a los elementos de un programa Java

3 UD1: Introducción a la Programación Orientada a Objetos Índice  Lenguajes de Programación Orientados a Objetos (LPOO)  Conceptos básicos de los lenguajes de programación  Conceptos básicos de los LPOO  Objeto  Interfaz  Clase  Atributos  Métodos  Constructores  Observadores  Modificadores  Paquete  Convenciones para nombrar a los elementos de un programa Java

4 UD1: Introducción a la Programación Orientada a Objetos Lenguajes de Programación Orientados a Objetos (LPOO)  ¿Qué es y para qué sirve un lenguaje de programación?  Los LPOO se basan en la modelización de los objetos del mundo real o virtual.  En el aprendizaje de la Programación Orientada a Objetos (POO), se harán ejercicios y prácticas en Java.

5 UD1: Introducción a la Programación Orientada a Objetos Índice  Lenguajes de Programación Orientados a Objetos (LPOO)  Conceptos básicos de los lenguajes de programación  Conceptos básicos de los LPOO  Objeto  Interfaz  Clase  Atributos  Métodos  Constructores  Observadores  Modificadores  Paquete  Convenciones para nombrar a los elementos de un programa Java

6 UD1: Introducción a la Programación Orientada a Objetos Conceptos básicos de los Lenguajes de Programación  Identificadores  Tipos  Declaración  Ámbito  Inicialización  Variables y constantes  Asignación  Expresiones  Expresiones bien formadas  Expresiones con efectos laterales vs. sin efectos laterales  Tiempo de compilación vs. Tiempo de ejecución

7 UD1: Introducción a la Programación Orientada a Objetos Modos de un programa Java  Modo compilación  Permite escribir nuevas clases e interfaces.  El entorno detecta si las expresiones que escribimos están bien formadas (compilador).  Si el entorno no detecta errores entonces el programa ha compilado bien y está listo para ser ejecutado.  Modo ejecución  Permite obtener los resultados de un programa que hemos escrito previamente.  Debe haber compilado con éxito previamente.  En el modo de ejecución pueden aparecer nuevos errores.

8 UD1: Introducción a la Programación Orientada a Objetos Índice  Lenguajes de Programación Orientados a Objetos (LPOO)  Conceptos básicos de los lenguajes de programación  Conceptos básicos de los LPOO  Objeto  Interfaz  Clase  Atributos  Métodos  Constructores  Observadores  Modificadores  Paquete  Convenciones para nombrar a los elementos de un programa Java

9 UD1: Introducción a la Programación Orientada a Objetos Conceptos básicos de los LPOO  Objeto  Interfaz  Clase  Atributos  Métodos  Paquete

10 UD1: Introducción a la Programación Orientada a Objetos Índice  Lenguajes de Programación Orientados a Objetos (LPOO)  Conceptos básicos de los lenguajes de programación  Conceptos básicos de los LPOO  Objeto  Interfaz  Clase  Atributos  Métodos  Constructores  Observadores  Modificadores  Paquete  Convenciones para nombrar a los elementos de un programa Java

11 UD1: Introducción a la Programación Orientada a Objetos Objeto  Unidad básica de trabajo en un LPOO  Los objetos tienen:  Propiedades (básicas o derivadas)  Estado  Funcionalidad  Encapsulación

12 UD1: Introducción a la Programación Orientada a Objetos Índice  Lenguajes de Programación Orientados a Objetos (LPOO)  Conceptos básicos de los lenguajes de programación  Conceptos básicos de los LPOO  Objeto  Interfaz  Clase  Atributos  Métodos  Constructores  Observadores  Modificadores  Paquete  Convenciones para nombrar a los elementos de un programa Java

13 UD1: Introducción a la Programación Orientada a Objetos Interfaz (I)  Es un elemento de la POO que define:  Las propiedades de un objeto.  La funcionalidad de un objeto.  Una interfaz define un contrato sintáctico  El qué de un objeto, no el cómo.  Contiene signaturas de métodos.

14 UD1: Introducción a la Programación Orientada a Objetos Interfaz (II)  Metodología adecuada para modelar un tipo de objeto especificando el contrato sintáctico mediante una interfaz: 1. Establecer para cada contrato las propiedades relevantes. 2. Para cada propiedad indicar su tipo, si es consultable y/o modificable. 3. Indicar las relaciones entre propiedades, si es que la hubiera. Es decir, especificar las propiedades derivadas. 4. Escribir métodos observadores (get) y/o modificadores (set) para las propiedades especificadas anteriormente. 5. Escribir otros métodos que puedan ser necesarios.

15 UD1: Introducción a la Programación Orientada a Objetos Interfaz (III)  Ejemplo: Modelar el tipo Punto aplicando la metodología anterior 1. Establecer las propiedades relevantes. 2. Para cada propiedad indicar su tipo, si es consultable y/o modificable. 3. Indicar las relaciones entre propiedades, si es que la hubiera. Es decir, especificar las propiedades derivadas. 4. Escribir métodos observadores (get) y/o modificadores (set) para las propiedades especificadas anteriormente. 5. Escribir otros métodos que puedan ser necesarios. Coordenada X Coordenada Y Coordenada X Coordenada Y

16 UD1: Introducción a la Programación Orientada a Objetos Interfaz (III)  Ejemplo: Modelar el tipo Punto aplicando la metodología anterior 1. Establecer las propiedades relevantes. 2. Para cada propiedad indicar su tipo, si es consultable y/o modificable. 3. Indicar las relaciones entre propiedades, si es que la hubiera. Es decir, especificar las propiedades derivadas. 4. Escribir métodos observadores (get) y/o modificadores (set) para las propiedades especificadas anteriormente. 5. Escribir otros métodos que puedan ser necesarios. Coordenada X Tipo: Real ==> Double ¿Consultable?: Sí ¿Modificable?: Sí Coordenada Y Tipo: Real ==> Double ¿Consultable?: Sí ¿Modificable?: Sí Coordenada X Tipo: Real ==> Double ¿Consultable?: Sí ¿Modificable?: Sí Coordenada Y Tipo: Real ==> Double ¿Consultable?: Sí ¿Modificable?: Sí

17 UD1: Introducción a la Programación Orientada a Objetos Interfaz (III)  Ejemplo: Modelar el tipo Punto aplicando la metodología anterior 1. Establecer las propiedades relevantes. 2. Para cada propiedad indicar su tipo, si es consultable y/o modificable. 3. Indicar las relaciones entre propiedades, si es que la hubiera. Es decir, especificar las propiedades derivadas. 4. Escribir métodos observadores (get) y/o modificadores (set) para las propiedades especificadas anteriormente. 5. Escribir otros métodos que puedan ser necesarios. No hay propiedades derivadas

18 UD1: Introducción a la Programación Orientada a Objetos Interfaz (III)  Ejemplo: Modelar el tipo Punto aplicando la metodología anterior 1. Establecer las propiedades relevantes. 2. Para cada propiedad indicar su tipo, si es consultable y/o modificable. 3. Indicar las relaciones entre propiedades, si es que la hubiera. Es decir, especificar las propiedades derivadas. 4. Escribir métodos observadores (get) y/o modificadores (set) para las propiedades especificadas anteriormente. 5. Escribir otros métodos que puedan ser necesarios. Coordenada X Tipo: Real ==> Double ¿Consultable?: Sí ¿Modificable?: Sí Coordenada Y Tipo: Real ==> Double ¿Consultable?: Sí ¿Modificable?: Sí Coordenada X Tipo: Real ==> Double ¿Consultable?: Sí ¿Modificable?: Sí Coordenada Y Tipo: Real ==> Double ¿Consultable?: Sí ¿Modificable?: Sí Coordenada X Double getX(); void setX (Double nx); Coordenada Y Double getY() void setY(Double ny); Coordenada X Double getX(); void setX (Double nx); Coordenada Y Double getY() void setY(Double ny);

19 UD1: Introducción a la Programación Orientada a Objetos Interfaz (III)  Ejemplo: Modelar el tipo Punto aplicando la metodología anterior 1. Establecer las propiedades relevantes. 2. Para cada propiedad indicar su tipo, si es consultable y/o modificable. 3. Indicar las relaciones entre propiedades, si es que la hubiera. Es decir, especificar las propiedades derivadas. 4. Escribir métodos observadores (get) y/o modificadores (set) para las propiedades especificadas anteriormente. 5. Escribir otros métodos que puedan ser necesarios. No hay otros métodos

20 UD1: Introducción a la Programación Orientada a Objetos Interfaz (III)  Ejemplo: Modelar el tipo Punto aplicando la metodología anterior.  Resultado final public interface Punto { Double getX(); void setX (Double nx); Double getY(); void setY (Double ny); } public interface Punto { Double getX(); void setX (Double nx); Double getY(); void setY (Double ny); }

21 UD1: Introducción a la Programación Orientada a Objetos Interfaz (IV)  Cuestiones relacionadas con el uso de interfaces  Diferencia entre parámetros formales y reales  Sobrecarga de métodos  Tipos de retorno de métodos y void  Combinación de llamadas y uso del operador punto (.)  Ejemplo de uso de interfaces Punto p = …. p.setX(3.0); p.setY(-4.1); p.getX( ) + p.getY ( ) Punto p = …. p.setX(3.0); p.setY(-4.1); p.getX( ) + p.getY ( )

22 UD1: Introducción a la Programación Orientada a Objetos Punto Interfaz (IV)  Cuestiones relacionadas con el uso de interfaces  Diferencia entre parámetros formales y reales  Sobrecarga de métodos  Tipos de retorno de métodos y void  Combinación de llamadas y uso del operador punto (.)  Ejemplo de uso de interfaces Punto p = …. p.setX(3.0); p.setY(-4.1); p.getX( ) + p.getY ( ) Punto p = …. p.setX(3.0); p.setY(-4.1); p.getX( ) + p.getY ( ) ????x: ????y: p

23 UD1: Introducción a la Programación Orientada a Objetos Punto Interfaz (IV)  Cuestiones relacionadas con el uso de interfaces  Diferencia entre parámetros formales y reales  Sobrecarga de métodos  Tipos de retorno de métodos y void  Combinación de llamadas y uso del operador punto (.)  Ejemplo de uso de interfaces Punto p = …. p.setX(3.0); p.setY(-4.1); p.getX( ) + p.getY ( ) Punto p = …. p.setX(3.0); p.setY(-4.1); p.getX( ) + p.getY ( ) 3.0x: ????y: p

24 UD1: Introducción a la Programación Orientada a Objetos Punto Interfaz (IV)  Cuestiones relacionadas con el uso de interfaces  Diferencia entre parámetros formales y reales  Sobrecarga de métodos  Tipos de retorno de métodos y void  Combinación de llamadas y uso del operador punto (.)  Ejemplo de uso de interfaces Punto p = …. p.setX(3.0); p.setY(-4.1); p.getX( ) + p.getY ( ) Punto p = …. p.setX(3.0); p.setY(-4.1); p.getX( ) + p.getY ( ) 3.0x: -4.1y: p

25 UD1: Introducción a la Programación Orientada a Objetos Interfaz. Ejercicios de refuerzo  Especificar el tipo Persona  Propiedades: DNI, nombre, apellidos, edad, estatura, sexo.  Especificar el tipo Circulo  Propiedades: radio, área, centro y longitud.

26 UD1: Introducción a la Programación Orientada a Objetos Índice  Lenguajes de Programación Orientados a Objetos (LPOO)  Conceptos básicos de los lenguajes de programación  Conceptos básicos de los LPOO  Objeto  Interfaz  Clase  Atributos  Métodos  Constructores  Observadores  Modificadores  Paquete  Convenciones para nombrar a los elementos de un programa Java

27 UD1: Introducción a la Programación Orientada a Objetos Clase  Es un elemento de la POO que permite definir:  El estado interno de un objeto (atributos).  Establecer la forma de crear objetos (constructores).  Calcular las propiedades a partir de los atributos e implementar la funcionalidad ofrecida por los objetos (métodos).  Proporciona el cómo para un objeto

28 UD1: Introducción a la Programación Orientada a Objetos Clase. Atributos  Unidades que sirven para establecer el estado interno de los objetos.  Tienen asociados modificadores de comportamiento y/o visibilidad (los veremos con detalle más adelante).  Ejemplo:  Definir atributos para una clase que implemente el tipo Punto public interface Punto { Double getX(); void setX (Double nx); Double getY(); void setY (Double ny); } public interface Punto { Double getX(); void setX (Double nx); Double getY(); void setY (Double ny); } Coordenada X Tipo: Real ==> Double ¿Consultable?: Sí ¿Modificable?: Sí Coordenada Y Tipo: Real ==> Double ¿Consultable?: Sí ¿Modificable?: Sí Coordenada X Tipo: Real ==> Double ¿Consultable?: Sí ¿Modificable?: Sí Coordenada Y Tipo: Real ==> Double ¿Consultable?: Sí ¿Modificable?: Sí private Double x; private Double y; private Double x; private Double y; Modificador Visibilidad Tipo Nombre Atributos:

29 UD1: Introducción a la Programación Orientada a Objetos Clase. Métodos  Mecanismo para consultar o modificar las propiedades de un objeto.  Ejemplo de método consultor:  Ejemplo de método modificador: public Double getX ( ){ return x; } public Double getX ( ){ return x; } public void setX (Double nx){ x = nx; } public void setX (Double nx){ x = nx; } Cabecera Cuerpo Modificador Visibilidad Tipo retorno Nombre Parámetros Formales

30 UD1: Introducción a la Programación Orientada a Objetos Clase. Métodos Constructores  Métodos especiales que sirven para inicializar el estado de un objeto.  El nombre de un método constructor es el mismo que el de la clase que lo contiene.  No devuelven nada, ni siquiera void.  Siempre existe uno, incluso si no lo escribimos (constructor por defecto).  Ejemplos de métodos constructores: public PuntoImpl (){ x = 0.0; y = 0.0; } public PuntoImpl (){ x = 0.0; y = 0.0; } public PuntoImpl (Double nx, Double ny){ x = nx; y = ny; } public PuntoImpl (Double nx, Double ny){ x = nx; y = ny; }

31 UD1: Introducción a la Programación Orientada a Objetos Clase. Ejemplo de creación de clase public class PuntoImpl implements Punto { private Double x; private Double y; public PuntoImpl (Double x1, Double y1) { x=x1; y=y1; } public Double getX() { return x; } public Double getY() { return y; } public void setX(Double x1) { x=x1; } public void setY(Double y1) { y=y1; } public String toString() { String s="("+getX()+","+ getY()+")"; return s; } } public class PuntoImpl implements Punto { private Double x; private Double y; public PuntoImpl (Double x1, Double y1) { x=x1; y=y1; } public Double getX() { return x; } public Double getY() { return y; } public void setX(Double x1) { x=x1; } public void setY(Double y1) { y=y1; } public String toString() { String s="("+getX()+","+ getY()+")"; return s; } } Atributos Métodos Cabecera de la Clase

32 UD1: Introducción a la Programación Orientada a Objetos Clase (IV)  Algunas consideraciones a la hora de crear nuestras clases  En general, irán ligadas a una interfaz (lo que se especifica mediante la clausula implements).  El nombre de la clase será el de la interfaz asociada, seguida de “Impl”. Por ej., PuntoImpl.  El modificador de visibilidad de los atributos será private.  El modificador de visibilidad de los métodos será public.  Para invocar a un método constructor hay que anteponerle la palabra reservada new.  Ejemplo de creación de objetos mediante constructores: Punto p1 = new PuntoImpl (2.1, 3.7); Punto p2 = new PuntoImpl ( ); Punto p1 = new PuntoImpl (2.1, 3.7); Punto p2 = new PuntoImpl ( );

33 UD1: Introducción a la Programación Orientada a Objetos Clase. Ejercicios de refuerzo  Escriba una clase PersonaImpl que implemente el tipo Persona especificado anteriormente.  Escriba una clase CirculoImpl que implemente el tipo Circulo especificado anteriormente.

34 UD1: Introducción a la Programación Orientada a Objetos Índice  Lenguajes de Programación Orientados a Objetos (LPOO)  Conceptos básicos de los lenguajes de programación  Conceptos básicos de los LPOO  Objeto  Interfaz  Clase  Atributos  Métodos  Constructores  Observadores  Modificadores  Paquete  Convenciones para nombrar a los elementos de un programa Java

35 UD1: Introducción a la Programación Orientada a Objetos Paquete (I)  Agrupación de clases e interfaces que, por la función que desempeñan, conviene mantener juntos.  Similar a una carpeta que contiene ficheros y otras carpetas.  Dentro de un paquete puede haber otros paquetes.  El nombre de un paquete puede ser cualquier identificador.  El acceso a los paquetes situados en el interior de otros paquetes se hace con el operador punto (.). Ejemplo: java.lang.  El nombre cualificado de una clase está compuesto por todos los paquetes a los que hay que acceder para llegar a la clase. Ejemplo: java.lang.Object.  El paquete en el que está una clase o una interfaz se indica anteponiéndole a la definición de la misma la sentencia package.

36 UD1: Introducción a la Programación Orientada a Objetos Paquete (II)  Ejemplo de declaración de paquetes: package nombre_del_paquete; interface …{ … } package nombre_del_paquete; interface …{ … } package nombre_del_paquete; public class … { … } package nombre_del_paquete; public class … { … } package puntoPlano; public interface Punto{ … } package puntoPlano; public interface Punto{ … } package puntoPlano; public class PuntoImpl …{ … } package puntoPlano; public class PuntoImpl …{ … }

37 UD1: Introducción a la Programación Orientada a Objetos Índice  Lenguajes de Programación Orientados a Objetos (LPOO)  Conceptos básicos de los lenguajes de programación  Conceptos básicos de los LPOO  Objeto  Interfaz  Clase  Atributos  Métodos  Constructores  Observadores  Modificadores  Paquete  Convenciones para nombrar a los elementos de un programa Java

38 UD1: Introducción a la Programación Orientada a Objetos Convenciones para escoger nombres de idenficadores en Java  Interfaces y Clases  La primera letra de cada palabra en mayúscula, el resto en minúscula; no puede haber espacios en blanco.  Atributos:  La primera letra del nombre en minúscula, para el resto, la primera letra de cada palabra en mayúscula (excepto para la primera palabra) y el resto en minúscula; no puede haber espacios en blanco.  Métodos  Igual que los atributos.  Paquetes  Igual que los atributos.  Constantes  Todas las letras en mayúsculas. Para separar palabras se usa el carácter subrayado.


Descargar ppt "Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos Fundamentos de Programación Departamento."

Presentaciones similares


Anuncios Google