Tema 4 Genericidad en Java. Programación Orientada a Objetos Curso 2013/2014
|
|
|
- Andrea Montes Calderón
- hace 9 años
- Vistas:
Transcripción
1 Tema 4 Genericidad en Java Programación Orientada a Objetos Curso 2013/2014
2 Contenido Antecedentes. Genericidad en Java 5 y posterior. Características avanzadas: Genericidad restringida. Tipo puro. Limitaciones en tiempo de ejecución. Herencia. Curso 2013/2014 Programación Orientada a Objetos 2
3 Genericidad Facilidad de un lenguaje de programación para definir clases parametrizadas con tipos de datos. Resultan de utilidad para la implementación de tipos de datos contenedores como las colecciones. La genericidad sólo tiene sentido en lenguajes con comprobación estática de tipos, como Java. La genericidad permite escribir código reutilizable. Curso 2013/2014 Programación Orientada a Objetos 3
4 Antecedentes Motivación: aprovechar el tipo Object para definir clases contenedoras (listas, conjuntos, diccionarios, etc.) Una referencia de tipo Object puede referenciar a cualquier tipo de datos del lenguaje (objetos, tipos primitivos). Ejemplo: definición de la clase Contenedor cuyo propósito es ser el envoltorio de un valor de cualquier tipo de datos. Curso 2013/2014 Programación Orientada a Objetos 4
5 Antecedentes public class Contenedor { private Object contenido; public void setcontenido(object contenido) { } this.contenido = contenido; public Object getcontenido() { } } return contenido; Curso 2013/2014 Programación Orientada a Objetos 5
6 Antecedentes Problema: el compilador no ayuda en el control de tipos. El uso correcto de los tipos queda en manos del programador. Para extraer objetos es necesario hacer siempre un casting que podría fallar. Contenedor contenedor = new Contenedor (); contenedor.setcontenido("hola"); Deposito d = (Deposito) contenedor.getcontenido(); // Error de casting en tiempo de ejecución. Curso 2013/2014 Programación Orientada a Objetos 6
7 Antecedentes La técnica de genericidad basada en Object está en desuso, aunque existe código que aún trabaja con este tipo de genericidad. La genericidad en el lenguje Java fue introducida a partir de la versión 5. Curso 2013/2014 Programación Orientada a Objetos 7
8 Genericidad Una clase genérica es una clase que en su declaración utiliza un tipo variable (parámetro), que será establecido cuando sea utilizada. Al parámetro de la clase genérica se le proporciona un nombre (T, K, V, etc.) que permite utilizarlo como tipo de datos en el código de la clase. Sobre las variables cuyo tipo sea el parámetro (T, K, V, etc.) sólo es posible aplicar métodos de la clase Object: dado que representan cualquier dato sólo podemos aplicar operaciones disponibles en todos los tipos de datos del lenguaje Java. Curso 2013/2014 Programación Orientada a Objetos 8
9 Clase genérica Contenedor public class Contenedor<T> { private T contenido; public void setcontenido(t contenido) { } this.contenido = contenido; public T getcontenido() { } } return contenido; Curso 2013/2014 Programación Orientada a Objetos 9
10 Operaciones sobre el tipo del parámetro (T) Las operaciones aplicables sobre cualquier objeto (métodos públicos de la clase Object) Podemos aplicar la asignación (=) y la comparación de identidad (== o!=). Dentro de la clase genérica, NO es posible construir objetos de los tipos parametrizados: T contenido = new T(); // No compila Curso 2013/2014 Programación Orientada a Objetos 10
11 Uso de una clase genérica La parametrización de una clase genérica se realiza en la declaración de una variable y en la construcción de objetos. Contenedor<String> contenedor = new Contenedor<String>(); contenedor.setcontenido("hola"); Curso 2013/2014 Programación Orientada a Objetos 11
12 Genericidad y tipos primitivos Las clases genéricas no pueden ser parametrizadas a tipos primitivos. Para resolver este problema el lenguaje define clases envoltorio de los tipos primitivos: Integer, Float, Double, Character, Boolean, etc. El compilador transforma automáticamente tipos primitivos en clases envoltorio y viceversa: autoboxing. Contenedor<Integer> contenedor = new Contenedor<Integer>(); contenedor.setcontenido(10); int valor = contenedor.getcontenido(); Curso 2013/2014 Programación Orientada a Objetos 12
13 Genericidad y sistema de tipos Deposito Contenedor<Deposito> No hay relación DepositoEstructurado Contenedor<DepositoEstructurado> Contenedor<Deposito> cdeposito; Contenedor<DepositoEstructurado> cestructurado; cdeposito = cestructurado; // No compila Curso 2013/2014 Programación Orientada a Objetos 13
14 Genericidad y sistema de tipos Las reglas del polimorfismo se mantienen entre clases genéricas. Sin embargo, en una asignación polimórfica no está permitido que tengan distintos parámetros. En el ejemplo, las dos variables son del mismo tipo (Contenedor), pero han sido parametrizadas a tipos distintos (Deposito y DepositoEstructurado). No importa que Deposito y DepositoEstructurado sean tipos compatibles. Es una limitación en el paso de parámetros. Curso 2013/2014 Programación Orientada a Objetos 14
15 Genericidad y sistema de tipos Problema: el método sólo permite objetos de tipo List<Deposito>. public double posicionglobal(list<deposito> depositos) { double posicion = 0; for (Deposito deposito : depositos) { } } posicion += deposito.getcapital(); return posicion; Cómo podemos pasar una variable de tipo List<DepositoEstructurado>? Curso 2013/2014 Programación Orientada a Objetos 15
16 Genericidad y sistema de tipos Solución: tipo comodín. public double posicionglobal( List<? extends Deposito> depositos) En el ejemplo significa: permite cualquier lista genérica parametrizada a la clase Depósito o a un tipo compatible (subclase). El tipo comodín se puede usar también para declarar variables locales o atributos. No se puede utilizar para construir objetos. Si se indica simplemente <?>, significa cualquier tipo. Curso 2013/2014 Programación Orientada a Objetos 16
17 Características avanzadas Una clase genérica puede tener varios parámetros. Dentro de una clase genérica se pueden utilizar otras clases genéricas. Una interfaz también puede declarar parámetros: Un ejemplo son las interfaces que definen las colecciones: List<T>, Set<T>, Map<K, V>, etc. public class ContenedorDoble <T,K> { private String nombre; private Contenedor<T> clave; private K valor; } ContenedorDoble<String, Cuenta> contenedor = Curso 2013/2014 Programación Orientada a Objetos 17
18 Características avanzadas Podemos aumentar las operaciones disponibles sobre las variables cuyo tipo sea un parámetro (T, K, V, etc.) con genericidad restringida. Es posible utilizar una clase genérica y no establecer sus parámetros se estable el tipo puro. En tiempo de ejecución no se puede consultar el parámetro al que fue instanciada una clase genérica. Se puede aplicar herencia con clases genéricas. Curso 2013/2014 Programación Orientada a Objetos 18
19 Genericidad restringida Objetivo: limitar los tipos a los que puede ser parametrizada una clase genérica. Al restringir los tipos obtenemos el beneficio de poder aplicar métodos sobre los objetos del tipo parametrizado. Una clase con genericidad restringida sólo permite ser parametrizada con tipos compatibles con el de la restricción (clase o interfaz). Curso 2013/2014 Programación Orientada a Objetos 19
20 Genericidad restringida Ejemplo: la clase CarteraAhorro sólo puede ser parametrizada con tipos compatibles con Deposito. Sobre variables de tipo T podemos aplicar métodos disponibles en la clase Deposito. public class CarteraAhorro<T extends Deposito> { private LinkedList<T> contenido; } public void liquidar() { for (T deposito : contenido) deposito.liquidar(); } Curso 2013/2014 Programación Orientada a Objetos 20
21 Genericidad restringida Una clase genérica puede estar restringida por varios tipos: public class Contenedor<T extends Deposito & Amortizable> Las operaciones disponibles para objetos de tipo T son la unión de todos los tipos de la restricción. En el ejemplo, todas las operaciones de la clase Deposito y la interfaz Amortizable. Curso 2013/2014 Programación Orientada a Objetos 21
22 Genericidad Tipo puro Cuando se declara una variable cuyo tipo se corresponde con una clase genérica y no se especifica el parámetro se asigna el tipo puro (raw) que corresponde a: Sin genericidad restringida, la clase Object. Con genericidad restringida, la clase a la que se restringe. Contenedor contenedor = new Contenedor(); // Object CarteraAhorro cartera = new CarteraAhorro(); // Deposito Siendo: Clase Contenedor<T> Clase CarteraAhorro<T extends Deposito> Curso 2013/2014 Programación Orientada a Objetos 22
23 Genericidad Tiempo de ejecución En tiempo de ejecución se pierde la información sobre el tipo utilizado para parametrizar la clase genérica. Con el operador instanceof sólo podemos preguntar por el nombre de la clase. // No compila if (contenedor instanceof Contenedor<Deposito>) { } // Sí compila if (contenedor instanceof Contenedor) { } Curso 2013/2014 Programación Orientada a Objetos 23
24 Genericidad y herencia Una clase puede heredar de una clase genérica. La nueva clase tiene las opciones: Mantener la genericidad de la clase padre. public class CajaSeguridad<T> extends Contenedor<T> Restringir la genericidad. public class CajaSeguridad<T extends Valorable> extends Contenedor<T> No ser genérica y especificar un tipo concreto. public class CajaSeguridad extends Contenedor<Valorable> Curso 2013/2014 Programación Orientada a Objetos 24
25 Seminario 3 El Seminario 3 trata la genericidad en Java e incluye los siguientes ejemplos: Genericidad basada en Object. Definición de una clase genérica. Genericidad restringida. Curso 2013/2014 Programación Orientada a Objetos 25
Tema 5 Genericidad y Colecciones. Programación Orientada a Objetos Curso 2015/2016
Tema 5 Genericidad y Colecciones Programación Orientada a Objetos Curso 2015/2016 Contenido Parte I Genericidad: Definición de clases genéricas. Declaración y construcción de tipos genéricos. Genericidad
1.2. Es Java un lenguaje ideal para aprender a programar? 1.4. Cuáles son las versiones y distribuciones Java y cuál usar?
1 1. Introducción 1.1. Qué es Java? 1.2. Es Java un lenguaje ideal para aprender a programar? 1.3. Es Java software libre? 1.4. Cuáles son las versiones y distribuciones Java y cuál usar? 1.5. Qué sistema
Tema 3: Herencia en C# Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 3: Herencia en C# Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Herencia. Polimorfismo y ligadura. Clase object. Casting. Compatibilidad de tipos. Clases abstractas.
Modulo 11. Clases y Objetos en Java
El siguiente texto es una traducción no oficial del documento publicado por el grupo JEDI, Introduction to Programming 1, no pretende en ningún momento reemplazar los contenidos generados por este grupo.
Tema 3 Herencia en Java Parte 1. Programación Orientada a Objetos Curso 2015/2016
Tema 3 Herencia en Java Parte 1 Programación Orientada a Objetos Contenido Introducción. Definición y tipos. Constructores. Redefinición. Polimorfismo. Herencia y sistema de tipos. Ligadura dinámica. Casting
Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016
Tema 3 Herencia en Java Parte 2 Programación Orientada a Objetos Contenido Restringir la herencia. Visibilidad protegida. Clases abstractas. Interfaces. Clase Object. Autoboxing. Copia de objetos. Igualdad
Introducción a la programación orientada a objetos
Introducción a la programación orientada a objetos Cristina Cachero Castro Pedro J. Ponce de León Amador Estela Saquete Boró Departamento de lenguajes y sistemas informáticos Universidad de Alicante Índice
Clases Abstractas e Interfaces
Clases Abstractas e Interfaces Presentación basada en: 1. Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA, 2003. 2. Apuntes del Curso Programación Orientado a Objetos. Pablo Castells.
Tema 7: Polimorfismo. Índice
Tema 7: Polimorfismo Antonio J. Sierra Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos. Recursividad. Control de acceso. Static. Final. Argumento
Una Clase: define un grupo de objetos que tienen propiedades similares y se comportan de manera similar.
Clases La programación orientada a objetos utiliza clases para encapsular (envolver, esconder) datos (atributos) y métodos (comportamientos). Por ejemplo, el estéreo de un auto encapsula todos los atributos
Examen Teórico Convocatoria de Junio de 2012
Examen Teórico Convocatoria de Junio de 2012 Nombre: DNI: Titulación: 1. Sobre el control de errores en Java: a) El siguiente método contiene un error de compilación debido al uso de excepciones. Explica
Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones
Práctica 2 Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos
Examen Teórico. Convocatoria de Febrero de 2015
Examen Teórico Convocatoria de Febrero de 2015 Nombre: DNI: Grupo: 1. Contesta de forma razonada a las siguientes cuestiones relacionadas con los ficheros.jar: a) Para qué se utilizan los ficheros con
Tema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011
Tema 6 Patrones de Diseño Programación Orientada a Objetos Curso 2010/2011 Contenido Introducción a los patrones de diseño. Patrón del Método plantilla. Patrón Composición. Patrón Estrategia. Clases anónimas
Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016
Tema 3 Herencia en Java Parte 2 Programación Orientada a Objetos Contenido Restringir la herencia. Visibilidad protegida. Clases abstractas. Clase Object. Autoboxing. Igualdad de objetos. Copia de objetos.
Tema 3. Programación orientada a objetos en Java (Parte 1)
Programación en Java Tema 3. Programación orientada a objetos en Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Clases y objetos (I) Clase Cojunto de datos (atributos) y funciones (métodos)
Programación Orientada a Objetos. Sesión 4: Herencia
Programación Orientada a Objetos Sesión 4: Herencia Contextualización Cuando hablamos de informática, podemos contemplar varios elementos que se utilizan dentro de ésta misma, por ejemplo, la herencia
Forma Básica Clase Java
Programación Orientada a Objetos Conceptos Básicos de Objetos en Java Ing. Julio Ernesto Carreño Vargas MsC. Forma básica de una clase en Java Especifica que la clase forma parte del paquete conceptos
Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Construcciones del Lenguaje Java
Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.
230086 - POO - Programación Orientada a Objetos
Unidad responsable: Unidad que imparte: Curso: Titulación: Créditos ECTS: 2016 230 - ETSETB - Escuela Técnica Superior de Ingeniería de Telecomunicación de Barcelona 701 - AC - Departamento de Arquitectura
CLAVE ASIGNATURA REQUISITOS HORA/SEMANA CREDITOS TI-8 PROGRAMACION II 80% DE ASISTENCIA 4 6
PRESENTACIÓN: La programación orientada a objetos es una evolución de la programación procedural basada en funciones. La POO permite agrupar secciones de código con funcionalidades comunes, pretende agrupar
Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005
24 Noviembre 2005 disponibles de acceso public private protected de tipo static abstract final modificadores más avanzados que no vamos a ver... Clase Sintaxis modificadores class nombreclase{} Tipos primitivos
La sintaxis básica para definir una clase es la que a continuación se muestra:
DEFINICIÓN DE CLASES Y OBJETOS EN C# Sintaxis de definición de clases La sintaxis básica para definir una clase es la que a continuación se muestra: class nombreclase miembros De este modo se definiría
Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos
Tema 1. Herencia y Polimorfismo
ÍNDICE EDA. Unidad didáctica I: Conceptos de Java para Estructuras de Datos Tema 1. Herencia y Polimorfismo 1. Relaciones entre clases: Reutilización del software. 2. La Herencia como soporte Java del
Aspectos de los LP. Diseño de compiladores. Estático vs. Dinámico. Estático vs. Dinámico. Scope. Scope 24/03/2015
Aspectos de los LP Diseño de compiladores Lenguajes de Programación Antes de comenzar con la construcción de un compilador, debemos comprender los conceptos basicos del lenguaje de programación con el
TEMA I PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN N ORIENTADA A OBJETOS OBJETOS (I) OBJETOS (II)
PROGRAMACIÓN N ORIENTADA A OBJETOS TEMA I PROGRAMACIÓN ORIENTADA A OBJETOS Programación OO Se basa en la creación de objetos, con sus propiedades y métodos Ventajas Código optimizado Buena reutilización
Clases abstractas e interfaces en Java
Clases abstractas e interfaces en Java Clases abstractas public abstract class Figura { private String _nombre; public Figura (string nombre) { _nombre = nombre; final public boolean mayor_que (Figura
CONTENIDOS. La herencia permite: - Adoptar automáticamente características ya implementadas. Ahorro de tiempo y esfuerzo
CONTENIDOS 1. Introducción 2. Cuándo se aplica el mecanismo de herencia 3. Un ejemplo de herencia 4. Terminología 5. Clase derivada. Creación de una clase derivada 6. Miembros que no se heredan automáticamente
Definición. Mónica E. García García Feb 07
Tema 11: Herencia 0 Definición Cuando inicialmente se modelan dos cosas y se tienen datos duplicados y además pudiera darse que el número de métodos también es similar así como la implementación, se requiere
Declaración de variables (integer, single, double, boolean, etc.) en Visual Basic. Dim. Ejemplos. (CU00309A)
aprenderaprogramar.com Declaración de variables (integer, single, double, boolean, etc.) en Visual Basic. Dim. Ejemplos. (CU00309A) Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión:
Apuntes de Programación y estructuras de datos. Tipos de datos
Apuntes de Programación y estructuras de datos. Tipos de datos Nikos Mylonakis, Fernando Orejas y Ana Cristina Zoltan [email protected] Dept. Llenguatges i Sistemes Informátics Universitat Politécnica
Tema 4 Genericidad. Programación Orientada a Objetos Curso 2010/2011
Tema 4 Genericidad Programación Orientada a Objetos Curso 2010/2011 Contenido Genericidad en Java. Colecciones en Java. Genericidad en C++. Colecciones en C++. Curso 2010/2011 Programación Orientada a
Guía práctica de estudio 08: Polimorfismo
Guía práctica de estudio 08: Polimorfismo Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 08: Polimorfismo
PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }
PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)
Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos
Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende
En este capitulo se estudiarán los conceptos relacionados a métodos, como lo son sobrecarga, métodos estáticos.
Lección 3: Creando clases 1. Definición de métodos 2. Sobrecarga de métodos 3. Definición de constructores 4. Creando miembros estáticos 5. Construcción e inicialización de objetos Objetivos En este capitulo
METODOS, SOBRECARGA Y CONSTRUCTORES
METODOS, SOBRECARGA Y CONSTRUCTORES METODOS Los métodos son funciones de una clase. Generalmente los métodos se dividen en aquellos que se usan internamente en la clase, llamados métodos privados (private),
Interfaces. Amparo López Gaona. Septiembre de Amparo López Gaona () Interfaces Septiembre de / 1
Interfaces Amparo López Gaona Septiembre de 2008 Amparo López Gaona () Interfaces Septiembre de 2008 1 / 1 Interfaces Las interfaces Java permiten al diseñador de clases establecer su forma definiendo
A3F. Polimorfismo. Carlos Fontela
Polimorfismo Carlos Fontela [email protected] Temario Métodos virtuales Métodos abstractos Polimorfismo como concepto Interfaces Clases internas 2c2010 2 cb := CuentaBancaria new. cc := CuentaCorriente
Examen Teórico. Convocatoria de Julio de 2015
Examen Teórico Convocatoria de Julio de 2015 Nombre: DNI: Grupo: 1. Sobre la ejecución de aplicaciones Java desde la línea de comandos: a) Explica el significado y uso del parámetro cp. b) Indica si la
PROGRAMACION ORIENTADA A OBJETOS EN C++
PROGRAMACION ORIENTADA A OBJETOS EN C++ 1- INTRODUCCIÓN El lenguaje C++ representa el resultado de los esfuerzos realizados para proporcionar las ventajas de la programación Orientada a Objetos a un lenguaje
LA CLASE ARRAYLIST DEL API DE JAVA. MÉTODOS ADD, SIZE, ETC. CONCEPTO DE CLASE GENÉRICA O PARAMETRIZADA (CU00665B)
APRENDERAPROGRAMAR.COM LA CLASE ARRAYLIST DEL API DE JAVA. MÉTODOS ADD, SIZE, ETC. CONCEPTO DE CLASE GENÉRICA O PARAMETRIZADA (CU00665B) Sección: Cursos Categoría: Curso Aprender programación Java desde
Programación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia
Programación orientada a objetos Capítulo 8 Mejora de las estructuras mediante herencia Clases y objetos de DoME Modelo de objetos Modelo de clases Crítica de la v1 de DoME - Duplicación de código - Las
Estructuras de Datos Clase 1 - Introducción
Estructuras de Datos Clase 1 - Introducción Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina Trivia
Programación orientada a objetos
Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual [email protected]! Herencia! Superclase/subclase! super! Modificador protected! Redefinicion de métodos!
Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.
Unidad IV Métodos. 4.1 Definición de un método. El polimorfismo, en programación orientada a objetos, se refiere a la posibilidad de acceder a un variado rango de funciones distintas a través del mismo
Clase adicional 2. Estructuras básicas de control. Temas
Clase adicional 2 Temas Estructuras de control Sentencia condicional Iteración Clases Definir una clase Crear una instancia de una clase Campos estáticos Problemas de la clase adicional Problema de diseño
Conceptos Básicos. Programación Orientada a Objetos 2
Programación Orientada a Objetos Conceptos Básicos de Objetos Ing. Julio Ernesto Carreño Vargas MsC. Conceptos Básicos Las aproximaciones ADOO y POO, proveen a los objetos como el principal medio para
Categorías de métodos. Métodos constructores y destructores
1. Categorías de los métodos 2. Inicialización de miembros 3. Métodos constructores 4. Inicialización de objetos con y sin constructores 5. Sobrecarga de funciones constructoras 6. Argumentos implícitos
Tema 5. Herencia. Departamento de Lenguajes y Sistemas Informáticos Universidad de Granada
Tema 5 Herencia Departamento de Lenguajes y Sistemas Informáticos Universidad de Granada Qué es la Herencia? Propiedad de que las instancias de una clase hija tengan acceso a la estructura de datos* y
Tema 2: Clase y objetos en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 2: Clase y objetos en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Introducción Módulos en C++: Clases Estructuras (struct) Espacios de nombres (namespace) Semántica
Interface nominterface{
Programación Orientada a Objetos Interfaces, Contenedores y Casting Angela C. Carrillo Ramos Interface Define un tipo con un contrato abstracto Una interface puede heredar de otras interfaces interface
EJEMPLO DE CÓDIGO JAVA BÁSICO. CREAR CLASES CON CAMPOS, CONSTRUCTOR Y MÉTODOS. LA PALABRA CLAVE THIS (CU00652B)
APRENDERAPROGRAMAR.COM EJEMPLO DE CÓDIGO JAVA BÁSICO. CREAR CLASES CON CAMPOS, CONSTRUCTOR Y MÉTODOS. LA PALABRA CLAVE THIS (CU00652B) Sección: Cursos Categoría: Curso Aprender programación Java desde
PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:
Examen de Java Nombre: DNI: Titulación: 1. Cómo podemos compilar desde la línea de comandos la clase Java A que utiliza una librería empaquetada bd.jar? 2. Indica si es correcto el siguiente código. Justifica
VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora
Java. Introducción a la Programación Orientada a Objetos
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora
Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.
APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje
Java Básico. Polimorfismo. Copyright
Java Básico Polimorfismo Copyright Copyright (c) 2004 José M. Ordax Este documento puede ser distribuido solo bajo los términos y condiciones de la Licencia de Documentación de javahispano v1.0 o posterior.
Identidad, igualdad y equivalencia
Identidad, igualdad y equivalencia Introducción a la Programación Orientada a objetos 2018 Clases como tipos Cuando el analista o el diseñador de un sistema orientado a objetos especifica una clase, establece
18. Interfaces Declaración de una interfaz
Programación orientada a objetos con Java 191 18. Interfaces Objetivos: a) Definir el concepto de interfaz b) Interpretar el código fuente de una aplicación Java donde aparecen interfaces c) Construir
PROGRAMACIÓN GENÉRICA
PROGRAMACIÓN GENÉRICA Lenguajes de Programación - Orientación a Objetos: Progr. Genérica 1 Programación genérica Objetivo: escribir algoritmos genéricos, independientes de las clases concretas de los datos
Estructuras de control selectivas
Práctica 3 Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 2.0.2 Concepto de sentencia y estructura de control El cuerpo de los métodos
Tipos Abstractos de Datos
Tipos Abstractos de Datos Tema 1. Estructuras de Datos y de la Información Tipos de Datos Un Tipo de Datos es una colección de valores Han sido estudiados los tipos de datos que implementan lenguajes como
RTTI y reflexión Modelos de datos
RTTI y reflexión Modelos de datos Carlos Fontela [email protected] Temario RTTI (información de tipos en tiempo de ejecución) Reflexión Modelo de datos y memoria de Java Otros modelos 1c2010 2 Transformaciones
INTRODUCCION A LA PROGRAMACION EN JAVA
Departament d Arquitectura de Computadors INTRODUCCION A LA PROGRAMACION EN JAVA Índice Paso de parámetros en tiempo de ejecución Métodos static Atributos static Try-catch-finally Throws/throw 2 Paso de
Programación Dirigida a Objetos. MATERIAL COMPLEMENTARIO Tema 5.- Herencia
Tema 5.- Herencia 1. Herencia múltiple en C++: ambigüedad de nombres...2 2. Herencia en SMALLTALK...4 2.1. Determinación de los métodos a ejecutar: self y super...4 2.2. Herencia de métodos y variables
Aplicaciones de Escritorio
Aplicaciones de Escritorio Introducción n a la Programación Orientada a Objetos con Java Disertantes: Ing. Rasjido, Jose. AdeS Montenegro, Cristian. Agenda Clases y Paquetes. Clases y Paquetes. Modificadores
Programación Digital I
Programación Digital I Programación Digital I Gilberto Diaz [email protected] Universidad de Los Andes Facultad de Ingeniería Escuela de Sistemas Depto de Computación Mérida - Venezuela Repaso Componentes
Introducción a la Programación en Java
Introducción a la Programación en Java Clases, Métodos y Atributos Ángel Lucas González Martínez Jaime Ramírez DLSIIS. Facultad de Informática Universidad Politécnica de Madrid Clase Las clases son el
MOO - Metodología y Programación Orientada a Objetos
Unidad responsable: Unidad que imparte: Curso: Titulación: Créditos ECTS: 2015 230 - ETSETB - Escuela Técnica Superior de Ingeniería de Telecomunicación de Barcelona 701 - AC - Departamento de Arquitectura
Compiladores e Intérpretes
Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2018 1. Introducción Este documento
Patrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2007/08
Patrones de Diseño Patrón estructural Composite Técnicas de Programación - Curso 2007/08 Propósito Componer objetos en estructuras arbóreas para representar jerarquías todo-parte. Manipular todos los objetos
LABORATORIO #7 PARTE I INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
LABORATORIO #7 PARTE I INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Marco Teórico En la vida real casi todo se compone de objetos (Carro, lapicero, casa, etc.). Entendemos que tanto un Mercedes Benz
PROGRAMACIÓN EN JAVA
1. INTRODUCCIÓN A LA PROGRAMACIÓN 1.1. Datos, algoritmos y programas 1.1.1. Definición de algoritmo 1.1.2. Datos 1.1.3. Características de un programa 1.2. Paradigmas de programación 1.2.1. Programación
Herencia y Polimorfismo
Herencia y Polimorfismo Dra. Maricela Bravo Universidad Autónoma Metropolitana Unidad Azcapotzalco 1 Herencia en el mundo real Cosa Medio de telecomunicación Medio de transporte Coche Vehiculo aéreo Objeto
PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación:
Examen de Java Nombre: DNI: Titulación: 1. Sea una aplicación Java donde todas las clases están compiladas y empaquetas en un solo fichero JAR (programa.jar). Qué sería necesario para conseguir ejecutar
Tema: Clases y Objetos en C++. Parte II.
Programación II. Guía 4 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C++. Parte II. Objetivos Específico Implementar clases, objetos, propiedades, métodos
EJERCICIOS RESUELTOS. EJEMPLOS CON NÚMEROS ALEATORIOS EN JAVA. RANDOM NEXTINT, NEXTDOUBLE, ETC. (CU00909C)
APRENDERAPROGRAMAR.COM EJERCICIOS RESUELTOS. EJEMPLOS CON NÚMEROS ALEATORIOS EN JAVA. RANDOM NEXTINT, NEXTDOUBLE, ETC. (CU00909C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado
Estructuras de control condicionales
Estructuras de control condicionales Por defecto, las instrucciones de un programa se ejecutan secuencialmente: El orden secuencial de ejecución no altera el flujo de control del programa respecto al orden
6. Herencia. Clases abstractas. Genericidad. Clase Object Polimorfismo y ligadura dinámica super Herencia y creación Clases abstractas Genericidad
6. Herencia. Clases abstractas. Genericidad Clase Object Polimorfismo y ligadura dinámica super Herencia y creación Clases abstractas Genericidad 1 Herencia en Java Herencia simple Object es la clase raíz
