Programación Orientada a Objetos con Java



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

Introducción a la Programación Orientada a Objetos

Programación en Java. Programación en OO

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

2.2.- Paradigmas de la POO

Introducción a la programación orientada a objetos

Programación Orientada a Objetos en Java

Java Inicial (20 horas)

Universidad de Cantabria

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

Programación orientada a objetos

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

Prof. Dr. Paul Bustamante

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }

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

Curso de Python Inicial

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

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

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Introducción al lenguaje JAVA

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

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

Constructores y Destructores

Curso Introducción JAVA Pág.: 1

Modulo 1 El lenguaje Java

Programación Orientada a Objetos en Java

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

19. Packages o paquetes

Lenguajes de Programación Curso Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces Clases abstractas 2

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

2. Estructura de un programa en Java

1. Qué tipos de relación hay entre las siguientes clases?

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

9. Objetos y clases Clases

Patrones para persistencia (I) Ingeniería del Software II

Modelo de Objetos Distribuidos

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

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

Diseño orientado a los objetos

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

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

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

15. Parámetros o argumentos

Clases abstractas e interfaces

8. Sentencia return y métodos

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

Objetivo de aprendizaje del tema

PART II: Moviendo al jugador

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

INDICE Uso de la composición (I). Preservación de la ocultación Utilización de miembros heredados (I). Atributos...

Examen Septiembre Curso Programación en C++ Pág. 1

Tema: Clases y Objetos en C++.

I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein Javier Navarro

Tema 4. Gestión de entrada/salida

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

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

POLIMORFISMO "una interfaz, múltiples métodos".

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

Capitulo III. Diseño del Sistema.

Práctica 2: Java Remote Method Invocation (RMI)

Java en 2 horas. Rodrigo Santamaría

Herencia e Interfaces

Creación y administración de grupos de dominio

Elementos léxicos del lenguaje de programación Java

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

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

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

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

Java: Clases Abstractas e Interfaces

Notación UML para modelado Orientado a Objetos

SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler

7. Manejo de Archivos en C.

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

Tutorial: Primeros Pasos con Subversion

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA

Ejercicios - Persistencia en Android: ficheros y SQLite

Estructura de las Aplicaciones Orientadas a Objetos Herencia y Polimorfismo

Agentes con Interfaz Gráfica.

Arquitectura y Lenguaje Java

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

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

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

Práctica 4: Herencia. Objetivos:

FACULTAD DE INGENIERÍA

Microsoft Access proporciona dos métodos para crear una Base de datos.

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Curso de Doctorado: Tecnologías de Objetos

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

CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS

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

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Introducción al lenguaje Java

MICQ. Trabajo Práctico Final Seminario de Ingeniería en Informática I Facultad de Ingeniería, UBA. Junio Cátedra: Pablo Cosso

G R U P O S INDICE Cómo crear una cuenta en ARQA? Cómo tener un grupo en ARQA? Secciones y funcionalidades de los grupos Configuración del grupo

Inicio Programas Accesorios Explorador de Windows Archivo Nuevo Carpeta

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN

Manual del Usuario. Portal Web Para uso exclusivo de Ministros de Estado.

El lenguaje de programación Java

Transcripción:

Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la misma clase. La restricción para esto es que sus parámetros sean diferentes En estos casos se dice que hay una sobrecarga de métodos, la cual es una de las formas en las que Java implementa el polimorfismo Cuando Java encuentra una llamada a un método sobrecargado, se ejecuta la versión que corresponde a los argumentos utilizados al llamarlo 1

Sobrecarga de métodos El método escribir() de nuestra clase Pizarron puede servir para ejemplificar la sobrecarga public void escribir(string texto) { this.texto=texto; public void escribir(string texto, boolean agrega) { if(agrega) this.texto+=texto; else this.texto=texto; Sobrecarga de constructores Una clase puede tener más de un constructor, siempre y cuando cada uno de ellos tenga diferentes argumentos: Pizarron( ) { color= Verde ; material= Madera ; ancho=3.0; alto=1.5; texto= ; Pizarron(String texto) { color= Verde ; material= Madera ; ancho=3.0; alto=1.5; this.texto=texto; 2

Utilizar objetos como parámetros de los métodos Definir un método copiar(pizarron p) que copie el texto de un pizarrón a otro Paso de argumentos por valor Consiste en copiar el valor en el parámetro del método Los cambios que el método realice en el parámetro recibido, no tienen efecto sobre el argumento original Cuando se utiliza como parámetro un tipo de dato primitivo, se pasa por valor: byte, short, int, long, float, double, char, boolean 3

Paso de parámetros por referencia Se pasa una referencia a un parámetro, no su valor Los cambios que se realicen en el método, afectarán al argumento original Cuando se pasa un objeto a un método, se hace por referencia Especificadores de acceso A través de estas palabras clave, se puede controlar el acceso a los miembros de una clase desde las diferentes partes de un programa Los especificadores de acceso de Java son: public private protected 4

Acceso público Cuando se utiliza la palabra public, cualquier parte de un programa puede tener acceso a ese miembro de la clase: public int a; public void borra( ){ Acceso privado Cuando a un miembro de una clase se le especifica este acceso mediante la palabra private, únicamente se tendrá acceso a él desde otros miembros de su misma clase: private int a; private void guarda( ) { 5

Acceso protegido Sólo se tiene acceso a los miembros de la clase desde subclases de la misma, es decir, clases que hereden sus características. Para indicar este modo de acceso, se utiliza la palabra protected: protected int a; protected void metodo(); Acceso por default Si no se utiliza ninguno de los modificadores de acceso, entonces se tendrá acceso por defecto En este caso, se tendrá acceso a los miembros de la clase desde cualquier otra clase que se encuentre en el mismo paquete 6

Resumen de modificadores de acceso public protected default private Misma clase Subclase en el mismo paquete Otra clase en el mismo paquete Subclase en otro paquete Otra clase en otro paquete La palabra clave static Existen miembros de una clase que se pueden utilizar independientemente de cualquier objeto de esa clase Para crearlos, es necesario que en su declaración se incluya la palabra static static double pi=3.14159; static int suma(int a, int b) 7

La palabra clave final Cuando una variable se declara como final, su valor no puede ser modificado Una variable de este tipo debe ser inicializada al momento que se define final double PI=3.14159; final int ABRIR=1; final int CERRAR=2; Generalmente este tipo de variables se especifican utilizando sólo mayúsculas Clases internas Estas son clases que se definen dentro de otra clase. También reciben el nombre de clases anidadas. Las clases internas pueden tener una definición completa o ser una clase anónima, es decir, una clase sin nombre Su aplicación principal es en el manejo de eventos 8

Herencia Para indicar que una clase hereda sus atributos y métodos de otra, en Java se utiliza la palabra clave extends public class Vocal extends Letra Herencia Por medio de la herencia, se puede modificar el comportamiento de algunos de los métodos de una clase, así como agregar nuevos atributos y métodos Un objeto de una subclase, puede utilizarse como parámetro cuando se requiera un objeto de su superclase 9

Herencia public class PizarronCuadrado extends Pizarron{ public void copiar(pizarron p){ public class Pizarrones { PizarronCuadrado pc1,pc2; pc1.copiar(pc2); Un objeto de la clase PizarronCuadrado será también un objeto de la clase Pizarron La palabra clave super Esta palabra se utiliza para que una clase se refiera a su superclase inmediata Un uso común es el de llamar a uno de los constructores de la superclase super(lista de parámetros); La llamada a super() debe ser la primer sentencia que se ejecute en un constructor 10

La palabra clave super También se puede utilizar para llamar a un miembro específico de la superclase, de manera similar a this super.miembro; Un miembro de una clase es un método o atributo Clases abstractas Son clases en las que se declara la estructura de la misma, pero no se implementa alguno o algunos de los métodos Definen una forma general que será compartida por todas las subclases, permitiendo que éstas definan el comportamiento específico para cada una de ellas 11

Clases abstractas Cuando una clase tenga al menos un método declarado como abstracto, deberá también declararse como clase abstracta Para declarar clases y métodos abstractos, se utiliza la palabra clave abstract public abstract class Clase public abstract void método(parámetros); No pueden crearse objetos de clases abstractas Evitando la herencia En algunos casos, se tendrán métodos que no es conveniente que se sobreescriban al ser heredados Para evitar esta sobreescritura, se utiliza la palabra clave final public final void método(atributos){ De la misma forma, se puede evitar que una clase sea heredada public final class Clase 12

Paquetes Los paquetes son contenedores de clases que permite delimitar el espacio en el cual una clase existe Los paquetes permiten que exista más de una clase con el mismo nombre Para indicar que una clase pertenece a un cierto paquete, se utiliza la palabra clave package Paquetes La declaración del paquete debe colocarse como la primera sentencia de la clase La sentencia package define un espacio de nombres en el que se almacenan las clases La forma de esta sentencia es: package nombrepaquete; 13

Paquetes Cualquier clase que se declare como parte de un paquete, debe estar contenida dentro de un directorio con el nombre de dicho paquete Los paquetes pueden organizarse como una jerarquía. Para esto, se separa el nombre de cada paquete por medio de un punto: package paq1.paq2.paq3; La palabra clave import Cuando se requiera utilizar una clase en un programa escrito en Java, ésta debe referenciarse, cada vez que sea utilizada, con el nombre completo del paquete en el que se encuentra. Por ejemplo: java.io.bufferedreader java.lang.integer 14

La palabra clave import La sentencia import nos permite referenciar las clases utilizando únicamente su nombre Al importar una clase o las clases que se encuentran en un paquete se vuelven visibles para el compilador La forma de utilizar la sentencia import es la siguiente: import java.io.bufferedreader; import java.io.*; La palabra clave import La sentencia import se debe colocar después de la declaración del paquete y antes de la declaración de la clase package paquete; import paquete1.*; import paquete2.*; import paqueten.*; public class Clase{ 15

Interfaces Por medio de una interfaz, se puede especificar lo que una clase debe hacer, pero no cómo debe hacerlo Las interfaces son similares a las clases, pero no contienen variables de instancia y los métodos solamente se declaran Para crear una interfaz, se utiliza la palabra clave interface en lugar de class Interfaces public interface UnaInterfaz{ public void metodo1(); public String metodo2(); public double metodo3(double a, double b); public void metodo4(); 16

Interfaces El acceso a una interfaz puede ser public o por default Se pueden declarar variables en una interfaz, pero estas, de manera implícita, tendrán los modificadores static y final Si una interfaz se declara como public, todos sus métodos y variables también lo serán Implementación de interfaces Una vez que se tiene una interfaz, una o más clases pueden implementarla La implementación de una interfaz se indica mediante la palabra implements public class Clase implements Interfaz Cuando una clase implementa a una interfaz, debe declarar todos los métodos de dicha interfaz o declararse como clase abstracta 17

Implementación de interfaces Una clase puede implementar más de una interfaz, separando los nombres de las interfaces por medio de comas public class Clase implements Interfaz1,Interfaz2 Se puede tener acceso a una clase a través de una referencia a una interfaz que ésta implemente Implementación de interfaces public interface Leible{ public String leer(); public class Libro implements Leible{ public String leer(){ return texto; Public class Biblioteca{... Libro lib=new Libro(); leepagina(lib); public String leepagina(leible l){ return l.leer(); 18

Implementación de interfaces Cuando una clase implementa una interfaz, otras clases pueden comunicarse con ella a través de los métodos definidos en la interfaz Las interfaces son una manera indirecta en la cual Java implementa la herencia múltiple Variables en interfaces Una interfaz se puede utilizar para declarar un grupo de constantes que serán utilizadas por otras clases public interface Constantes{ String bienvenida= Hola ; String despedida= Hasta luego ; String saludo= Cómo has estado? ; public interface Comandos{ int SALIR=0; int ABRIR=1; int GUARDAR=2; int BORRAR=3; 19