Programación Orientada a Objetos en Java



Documentos relacionados
Curso de Java POO: Programación orientada a objetos

15. Parámetros o argumentos

Programación orientada a objetos

Programación Orientada a Objetos en Java

Java Inicial (20 horas)

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

Programación Orientada a Objetos con Java

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

9. Objetos y clases Clases

Universidad de Cantabria

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario

Introducción a la programación orientada a objetos

Excepciones. Gonzalo Méndez - Dpto. Ingeniería de Software e Inteligencia Artificial. Excepciones

8. Sentencia return y métodos

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso Cuatrimestre de otoño. 17 de Enero de 2011

Constructores y Destructores

Programación Orientada a Objetos en JAVA

Conceptos fundamentales de la POO. Fundamentos de la Programación Orientada a Objetos Objetos y Clases

Tema 6. Reutilización de código. Programación Programación - Tema 6: Reutilización de código

Curso de Doctorado: Tecnologías de Objetos

Programación en Java. Programación en OO

Prácticas de Programación

Definición de clases: Herencia, polimorfismo, ligadura dinámica

ALGORITMICA Y PROGRAMACION POR OBJETOS I

Pruebas de unidad con JUnit

Clases y Objetos. Informática II Ingeniería Electrónica

Benemérita Universidad Autónoma del Estado de Puebla

Estructura de las Aplicaciones Orientadas a Objetos Herencia y Polimorfismo

Clases. Java: Clases y Objetos. Clases. Clases. Modificadores de clase. Definición de una clase. Cada objeto es un ejemplar de una clase

Práctica 2 Gráficos Vectoriales con SVG (versión )

Práctica sobre compartición de instancias remotas.

Prof. Dr. Paul Bustamante

Introducción a la Programación Orientada a Objetos

Ejercicio 1 (3 puntos).-

2.2.- Paradigmas de la POO

El lenguaje de programación Java

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

Repaso de las características más importantes de la programación Java y su adaptación a Android

Java: Clases Abstractas e Interfaces

19. Packages o paquetes

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

Tutorial básico del entorno de desarrollo Eclipse.

PROGRAMACIÓN ORIENTADA A OBJETOS

Clases y funciones amigas: friend

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos

Introducción a la Programación Orientada a Objetos

Tipos primitivos y clases de interés

Objetos y Clases en Java. ELO 329: Diseño y Programación Orientados a Objetos

Tema: Clases y Objetos en C++.

Prof. Dr. Paul Bustamante

2.1. Introducción al lenguaje Java

Tema 2. Técnicas básicas de POO. Técnicas de Programación - Curso 2007/08

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

Fundamentos de la Programación Orientada a Objetos Definición de Clases

Modelo de Objetos Distribuidos

Ejercicios - Persistencia en Android: proveedores de contenidos y SharedPreferences

Herencia e Interfaces

Modulo 1 El lenguaje Java

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 2. El lenguaje de programación Java. Arrays y cadenas

Patrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)

11. Algunas clases estándar de Java (II)

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

Capítulo 6. Introducción a la POO

PHP y MySQL. Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases

Ejercicios - Persistencia en Android: ficheros y SQLite

Tema: Sobrecarga de Operadores.

Java en 2 horas. Rodrigo Santamaría

Introducción al lenguaje JAVA

1. Aplicaciones del J2SE SDK1.4.2 de Sun.

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones

Patrones Creacionales Builder. Patrones Creacionales Abstract Factory. Patrones Creacionales Singleton. Patrones Creacionales Prototype

Práctica de la Asignatura Programación III Versión 1.0

Aquí se declaran los. Aquí se declaran los métodos de la clase. *Atributos de la clase

JavaScript como Orientación a Objetos

10. Algunas clases estándar de Java (I)

Ejercicios del tema 7: Clases y objetos

Tema: Herencia Simple y Múltiple en C++.

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)

Objetos y Clases en Java. ELO-329: Diseño y Programación Orientados a Objetos

Elementos léxicos del lenguaje de programación Java

Objetivo de aprendizaje del tema

Las propiedades de la clase en java es el equivalente a las variables globales en lenguajes estructurados como el C.

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

Programación Orientada a Objetos en C#.NET CAPÍTULO 5 H E R E N C I A. Ing. Bruno López Takeyas, M.C.

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

Tema 4. Clases y objetos en C Introducción

ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 7 Herencia y Composición en POO

Prof. Dr. Paul Bustamante

Curso creado por Enrique Areyán.

Introducción al lenguaje Java Práctica Editor de Línea

Prof. Dr. Paul Bustamante

Transcripción:

Programación Orientada a Objetos en Java Curso 2006-2007 Tema 3 Clases y Objetos Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Clases y Objetos Programación Estructurada: Tipos Abstractos de Datos (TAD) Programación Orientada a Objetos: Clases y objetos Las clases y los TAD no son equivalentes, aunque se puede establecer cierta analogía 1

Objetos Son la parte ejecutable de la programación orientada a objetos Se manejan a través de variables Pertenecen a una clase Clases Son la plantilla a partir de la cual se crean los objetos Formadas por: Nombre Atributos Métodos 2

Clases En general, interesa que los atributos no se puedan tocar directamente desde fuera de la clase privados Los métodos son la forma de comunicarse con la clase para pedirle que haga cosas (servicios) públicos o privados Los métodos get y set hacen trampa Errores de la POO Clase Tipo Atributos Estado Métodos Comportamiento Los objetos no imitan la realidad Los objetos no son funciones + datos Objeto = cosa 3

Declaración de Clases en Java public class Circulo private int centro_x, centro_y, radio; public void paint (Graphics g) g.drawcircle (centro_x, centro_y, radio, Color.GREEN); Declaración de Clases en Java Hay que declarar la visibilidad de la clase, sus atributos y sus métodos En cada fichero una clase pública con el mismo nombre del fichero 0..n clases privadas 4

Uso de Objetos Primero es necesario declarar una variable perteneciente a la clase: Circulo mi_circulo; Después hay que crear el objeto: mi_circulo = new Circulo(); Ahora ya se puede llamar a los métodos del objeto: mi_circulo.paint(); Constructor Método especial que indica lo que se hace cuando se crea un objeto Tiene el mismo nombre que la clase Pueden existir varios constructores con distintos parámetros Si no declaramos ninguno se usa el constructor por defecto Si declaramos alguno es obligatorio declarar también el constructor por defecto 5

Constructor Public class Circulo int c_x, c_y, radio; Circulo (int x, int y) c_x = x; c_y = y; radio = 1; Circulo (int x, int y, int r) c_x = x; c_y = y; radio = r; Circulo() c_x=c_y=radio=1; Un objeto especial: this La palabra reservada this sirve para que un objeto haga referencia a sí mismo Usos: Un objeto se pasa a sí mismo como parámetro al llamar a un método de otro objeto Especificar que un objeto utiliza sus métodos o sus atributos: no es obligatorio, pero a veces es necesario 6

Un objeto especial: this public class Circulo public void paint () Ventana.paint(this); public class Circulo int x,y,r; Circulo(int x, int y, int r) this.x = x; this.y = y; this.r = r; Métodos De manera general, la declaración de un método en java es de la forma modo_acceso modificadores tipo_retorno nombre_metodo (argumentos) Cuerpo del método Donde modo_acceso: public, private, protected No es obligatorio especificarlo, pero es conveniente Modificadores: static, abstract, final, native, synchronized No es obligatorio usarlos El tipo de retorno sí es obligatorio. Si no se devuelve nada se usa la palabra reservada void Si no hay augumentos no se pone nada entre los paréntesis 7

Paso de Parámetros En java los parámetros siempre se pasan por copia Los argumentos de los tipos básicos no quedan modificados fuera del método aunque se modifiquen dentro En el caso de pasar objetos como parámetro, lo que se copia es una referencia al objeto Si modificamos el objeto dentro del método también se modifica fuera Valor de Salida de un Método Se indica con la palabra clave return seguida de lo que se quiere devolver public int cuadrado (int x) return (x*x); Si se devuelve un void no es necesario utilizar return Es conveniente tener un solo return por función Hay que asegurarse de que, si se devuelve un valor, siempre se puede hacer el return (si no, da un error de compilación) 8

Valor de Salida de un Método Si lo que devolvemos es un objeto: Se actúa igual que en el caso de devolver un valor de un tipo simple Algunos Métodos Especiales tostring: Por defecto, Java convierte cualquier cosa en un String Con objetos, si no le decimos cómo hacerlo, el String contiene la dirección del objeto La implementación de tostring indica cómo hacer la conversión public String tostring () return ( ( +c_x+, +c_y+ ) +, +r); 9

Algunos Métodos Especiales equals: No se debe usar == para comparar objetos, pues el resultado indica si los dos valores que se comparan son el mismo objeto, no si dos objetos son iguales public boolean equals (Circulo c) return (this.c_x==c.c_x && this.c_y==c.c_y && this.c_r==c.c_r); Algunos Métodos Especiales clone: Si a una variable le asignamos otra que contiene un objeto, ambas variables tienen una referencia al mismo objeto Para que se asigne una copia del objeto hay que hacerlo a través del método clone public Circulo clone() return new Circulo(this.c_x, this.c_y, this.c_r); 10

El Modificador static En atributos indica que son atributos de clase, es decir, que tienen el mismo valor para todos los objetos de la clase Si un objeto modifica el valor, se modifica para todos los objetos En métodos indica que son métodos de clase, es decir, que se invocan sobre la clase sin necesidad de crear objetos. Sólo pueden manejar atributos static Ejemplos: método main, métodos de la clase Math Ejercicios Implementar la clase Complejo public class Complejo // atributos, representan el número x+yi private double x,y; // constructores public Complejo() public Complejo(double x, double y) // métodos public void ponx(double nuevax) public void pony(double nuevay) public double valorx() public double valory() public double módulo() 11

Ejercicios Implementar los siguientes métodos: Calcular el conjugado Modificando el objeto Sin modificar el objeto tostring equals clone Implementar la clase PruebaComplejos con el método main para probar el funcionamiento de la clase Complejo 12