SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6

Slides:



Advertisements
Presentaciones similares
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
Advertisements

Curso de java básico (scjp)
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Curso de Java Capitulo 7: Continuación Poo Profesor:
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Definición de Clases y Variables de referencia.
POLIMORFISMO UNIDAD 4.
Herencia en C#.
Lenguaje de programación Java
SCJP Sun Certified Programmer for Java 6
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Polimorfismo Unidad 4.
Conceptos más avanzados de Programación Orientada a Objetos Programación 2005 Licenciatura de Lingüística y Nuevas Tecnologías.
Inner classes CAPITULO 8.
Aplicación del paradigma orientado a objetos
Diseño y programación de
Sun Certified Java Developer (SCJP)‏ Sección 1 Declarations, Initialization and Scoping.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA SEIS DESARROLLO, INNER CLASSES.
Modificadores.
Polimorfismo Lenguajes de Programación II Corporación Universitaria del Caribe CECAR.
Introducción a Java II.
Lic. Rosemary Torrico Bascopé
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA CINCO CONSOLE.
Tema 6: Clases Antonio J. Sierra.
Variables polimórficas (plantillas): definición, uso y aplicación
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA CUATRO OPERADORES JAVA.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA OCHO THREADS.
Public class MiClase { public static int tmp = 123; // miembro variable public static final double PI = ;// miembro constante public float.
SCJP Sun Certified Programmer for Java 6
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA OCHO THREADS.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
Curso Programación en Java
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Lenguaje Java Fundamentos del lenguajes de programación
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA DOS ORIENTACION A OBJETOS.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA SIETE GENERICOS Y COLECCIONES.
Informática II Interfaces zLas interfaces declaran un tipo que se componen sólo de métodos abstractos y constantes. zLa definición de una clase hace pensar.
Herramientas de polimorfismo y herencia en C++
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA CUATRO CONTROL DE FLUJOS, EXCEPCIONES Y ASERSIONES.
Programación avanzada en Java Miguel Ángel Corella 23 de Septiembre de 2005.
FACULTAD DE ESTUDIOS SUPERIORES ARAGON
Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
Informatica II1 Clases Extendidas La clase extendida hereda los campos y métodos de la clase que ha sido extendida. La clase original se conoce como superclase.
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
Unidad 2.1: INTRODUCCIÓN A LA ORIENTACIÓN A OBJETOS.
Presentado por: PABLO ANDRES DIAZ SAIN HASSAM CAICEDO
ESMERALDA LIMÓN ESCUTIA AURORA MENDOZA PASTRANA RUTH LÓPEZ muñoz I.S.C
Detalles Generales sobre Java
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA SEIS DESARROLLO, INNER CLASSES.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Invocación Dinámica en CORBA
Clases “ Es una Abstracción de un elemento del mundo real ”
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
RELACIONES ENTRE CLASES M.C. YOLANDA MOYAO MARTINEZ.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Concepto de Tipo y Subtipo Diseño e Implementación Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 10 Versión.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Herencia.
Transcripción de la presentación:

SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6 1

SEMANA DOS ORIENTACION A OBJETOS SOBRE-ESCRITURA Y SOBRECARGA DE METODOS

SOBRECARGA DE METODOS Reglas: La sobrecarga de metodos nos permite tener el mismo nombre del metodo en una clase, pero con diferentes argumentos y opcionalmente diferente tipo de retorno Reglas: El método sobrecargado debe cambiar la lista de argumentos. El método sobrecargado puede cambiar el tipo de retorno El método sobrecargado puede cambiar el modificador de acceso. El método sobrecargado puede declarar nuevas checked exception.

Sobrecarga de metodos legales Teniendo el siguiente metodo: Las siguientes sobrecargas son legales:

SOBRECARGA DE METODOS El siguiente codigo es ejemplo de sobreescritura o sobrecarga?

SOBRECARGA DE METODOS Supongamos que una clase tiene 3 metodos con el mismo nombre pero diferentes argumentos. Si se invoca a un metodo y se le manda un String, se mandara a llamar el metodo que recibe un String. Si se invoca a un metodo y se le manda un int, se mandara a llamar el metodo que recibe un int. Si se invoca a un metodo y se le manda un float, se mandara a llamar el metodo que recibe un float.

SOBRECARGA DE METODOS Ejemplo:

Ejemplo Si tenemos un metodo que recibe un objeto de tipo Animal y al metodo sobrecargado le decimos que reciba un objeto de tipo Horse. Invocamos al metodo y le mandamos un Horse, que metodo sera invocado?

Ejemplo Que metodo es invocado si hago lo siguiente: Animal animalRefToHorse = new Horse(); ua.doStuff(animalRefToHorse);

Recuerda: Para la sobrecarga, el tipo de referencia (no el tipo de objeto) determina que metodo sobrecargado puede ser llamado Para la sobreescritura, para determinar que metodo puede ser llamado se basa en el tipo del objeto

POLIMORFISMO EN SOBRECARGA Y SOBRE-ESCRITURA

POLIMORFISMO EN SOBRECARGA Y SOBRE-ESCRITURA

DIFERENCIA ENTRE SOBRECARGA Y SOBREESCRITURA DE METODOS

CASTING DE VARIABLES DE REFERENCIA

COMPILARA? Al compilar el ejemplo anterior, el compilador lanzara una excepcion: cannot find symbol El compilador nos esta diciendo: “La clase Animal no tiene un metodo llamado playDead()”

SOLUCIONANDO ERROR DE COMPILACIÓN DownCast

UPCASTING El upcasting en variables de referencia viene implicito. Cuando hacemos un upcasting estamos restringiendo el numero de metodos que podemos invocar

Para el examen…. El siguiente codigo Puede ser reemplazado por el siguiente:

IMPLEMENTANDO UNA INTERFACE

IMPLEMENTANDO UNA INTERFACE El objetivo de las interfaces es proporcionar un formato comun de metodos para las clases. En la definicion de una clase, se utiliza la palabra implements para indicar que interfaz se ha de implementar public class MiClase implements MiInterfaz { }

Reglas para implementar una interface Se deben implementar todos los métodos definidos en la interface (no es forzoso para una clase abstract) Se deben seguir todas las reglas para la sobre- escritura de métodos. Una clase puede implementar mas de una interfaz. Una clase puede heredar otra clase e implementar al mismo tiempo una o varias interfaces. Una interfaz puede heredar otras interfaces

EJEMPLO DE IMPLEMENTACION DE INTERFACE

Ejercicio. Identificar cuales son las implementaciones correctas e incorrectas y porque. class Foo { } class Bar implements Foo { } interface Baz { } interface Fi { } interface Fee implements Baz { } interface Zee implements Foo { } interface Zoo extends Foo { } interface Boo extends Fi { } class Toon extends Foo, Button { } class Zoom implements Fi, Baz { } interface Vroom extends Fi, Baz { } class Yow extends Foo implements Fi { }

VALORES DE RETORNO LEGALES

Valores de retorno en la sobre carga de metodos Ejemplo Uno: Ejemplo Dos:

SOBRE-ESCRITURA DE MÉTODOS Y VALORES DE RETORNO, COVARIAN RETURNS.

SOBRE-ESCRITURA DE MÉTODOS Y VALORES DE RETORNO, COVARIAN RETURNS. Recuerda… Los metodos sobrecargados pueden cambiar el tipo de retorno. Los metodos sobreescritos deben de tener el mismo tipo de retorno o de algun subtipo (Covarian returns)

REGLAS PARA VALORES DE RETORNO Se puede regresar null en cualquier método que tenga como valor de retorno un objeto. Un arreglo puede ser un valor de retorno.

REGLAS PARA VALORES DE RETORNO En un metodo con un valor primitivo como retorno, se puede regresar cualquier valor que pueda ser casteado implicitamente. En un metodo con un valor de retorno primitivo se puede regresar cualquier valor casteado explicitamente.

REGLAS PARA VALORES DE RETORNO No debes regresar algo dentro de un metodo que tiene como tipo de retorno void

REGLAS PARA VALORES DE RETORNO En un método con un objeto como valor de retorno se puede retornar cualquier objeto que pueda ser casteado implícitamente.

EJEMPLO El siguiente codigo compila?