PARA QUÉ SIRVEN LAS INTERFACES JAVA. IMPLEMENTAR UNA INTERFAZ DEL API. VENTAJAS. EJEMPLOS BÁSICOS. (CU00697B)
|
|
|
- Felisa Emilia Acuña Silva
- hace 9 años
- Vistas:
Transcripción
1 APRENDERAPROGRAMAR.COM PARA QUÉ SIRVEN LAS INTERFACES JAVA. IMPLEMENTAR UNA INTERFAZ DEL API. VENTAJAS. EJEMPLOS BÁSICOS. (CU00697B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión: 2029 Resumen: Entrega nº97 curso Aprender programación Java desde cero. Autor: Alex Rodríguez
2 PARA QUÉ SIRVEN LAS INTERFACES EN JAVA Si una interfaz define un tipo (al igual que una clase define un tipo) pero ese tipo no provee de ningún método podemos preguntarnos: qué se gana con las interfaces en Java? La implementación (herencia) de una interfaz no podemos decir que evite la duplicidad de código o que favorezca la reutilización de código puesto que realmente no proveen código. En cambio sí podemos decir que reúne las otras dos ventajas de la herencia: favorecer el mantenimiento y la extensión de las aplicaciones. Por qué? Porque al definir interfaces permitimos la existencia de variables polimórficas y la invocación polimórfica de métodos. En el diagrama que vimos anteriormente tanto árboles como arbustos, vehículos y personas son de tipo Actor, de modo que podemos generar código que haga un tratamiento en común de todo lo que son actores. Por ejemplo, podemos necesitar una lista de Actores. Podemos declarar una variable como de tipo Actor (aunque no puedan existir instancias de Actor) que permita referenciar alternativamente a objetos de las distintas subclases de la interfaz. Un aspecto fundamental de las interfaces en Java es hacer lo que ya hemos dicho que hace una interfaz de forma genérica: separar la especificación de una clase (qué hace) de la implementación (cómo lo hace). Esto se ha comprobado que da lugar a programas más robustos y con menos errores. Pensemos en el API de Java. Por ejemplo, disponemos de la interfaz List que es implementada por las clases ArrayList y LinkedList (y también por otras varias clases). El hecho de declarar una variable de tipo lista, por ejemplo List <String> milista; nos dice que milista va a ser una implementación de List, pero todavía no hemos definido cuál de las posibles implementaciones va a ser. De hecho, el código podría definir que se implementara de una u otra manera en función de las circunstancias usando condicionales. O a nivel de programación, mantendríamos la definición como List y nos permitiría comprobar el rendimiento de distintas
3 configuraciones (hacer funcionar milista bien como ArrayList bien como LinkedList viendo su rendimiento). La variable declarada se crea cuando escribimos milista = new LinkedList <String> (); o también se puede usar la sintaxis: List <String> milista = new LinkedList <String> (); Usar una u otra implementación puede dar lugar a diferentes rendimientos de un programa. ArrayList responde muy bien para la búsqueda de elementos situados en posiciones intermedias pero la inserción o eliminación de elementos puede ser más rápida con una LinkedList. Declarando las variables simplemente como List tendremos la posibilidad de que nuestro programa pase de usar un tipo de lista a otro tipo. Como List es un tipo, podemos especificar los métodos para que requieran List y después enviarles como parámetro bien un ArrayList bien un LinkedList sin tener que preocuparnos de hacer cambios en el código en caso de que usáramos uno u otro tipo de lista. En esencia, usando siempre List, el único sitio donde habría que especificar la clase concreta sería donde se declara la creación de la variable, con lo cual todo nuestro código (excepto el lugar puntual donde se crea la variable) es independiente del tipo de lista que usemos y esto resulta ventajoso porque pasar de usar un tipo de lista a usar otro resultará muy sencillo. Los métodos de ArrayList en algunos casos definen los métodos abstractos de List, y en otros casos son específicos. Recordar que en List todos los métodos son abstractos por ser una interfaz, aunque no se indique específicamente en la documentación del API de Java. Recordar también que List, por ser una interfaz no tiene constructores y no es instanciable. Al ver la documentación del API nos puede parecer una clase, pero la ausencia de constructor (aparte del propio nombre en el encabezado) delata que no se trata de una clase. java.util Interface List<E> All Superinterfaces: Collection<E>, Iterable<E> All Known Implementing Classes: AbstractList, AbstractSequentialList, ArrayList, AttributeList, CopyOnWriteArrayList, LinkedList, RoleList, RoleUnresolvedList, Stack, Vector Otra ventaja clara de las interfaces es que nos permiten declarar constantes que van a estar disponibles para todas las clases que queramos (implementando esa interfaz). Nos ahorra código evitando tener que escribir las mismas declaraciones de constantes en diferentes clases. EJEMPLO SENCILLO DE INTERFACE EN JAVA Vamos a ver un ejemplo simple de definición y uso de interface en Java. Las clases que vamos a usar y sus relaciones se muestran en el esquema. Escribe el código y ejecútalo.
4 public interface Figura { // Ejemplo aprenderaprogramar.com float PI = f; // Por defecto public static final. La f final indica que el número es float float area(); // Por defecto abstract public } //Cierre de la interface public class Cuadrado implements Figura { // La clase implementa la interface Figura private float lado; public Cuadrado (float lado) { this.lado = lado; } public float area() { return lado*lado; } } //Cierre de la clase ejemplo aprenderaprogramar.com public class Circulo implements Figura{ // La clase implementa la interface Figura private float diametro; public Circulo (float diametro) { this.diametro = diametro; } public float area() { return (PI*diametro*diametro/4f); } } //Cierre de la clase ejemplo aprenderaprogramar.com public class Rectangulo implements Figura{ // La clase implementa la interface Figura private float lado; private float altura; public Rectangulo (float lado, float altura) { this.lado = lado; this.altura = altura; } public float area() { return lado*altura; } } //Cierre de la clase ejemplo aprenderaprogramar.com import java.util.list; import java.util.arraylist; //Test ejemplo aprenderaprogramar.com public class TestInterface { public static void main (String [ ] Args) { Figura cuad1 = new Cuadrado (3.5f); Figura cuad2 = new Cuadrado (2.2f); Figura cuad3 = new Cuadrado (8.9f); Figura circ1 = new Circulo (3.5f); Figura circ2 = new Circulo (4f); Figura rect1 = new Rectangulo (2.25f, 2.55f); Figura rect2 = new Rectangulo (12f, 3f); List <Figura> seriedefiguras = new ArrayList <Figura> (); seriedefiguras.add (cuad1); seriedefiguras.add (cuad2); seriedefiguras.add (cuad3); seriedefiguras.add (circ1); seriedefiguras.add (circ2); seriedefiguras.add (rect1); seriedefiguras.add (rect2); float areatotal = 0; for (Figura tmp: seriedefiguras) { areatotal = areatotal + tmp.area(); } System.out.println ("Tenemos un total de " + seriedefiguras.size() + " figuras y su área total es de " + areatotal + " uds cuadradas") } } //Cierre del main y de la clase
5 El resultado de ejecución podría ser algo así: Tenemos un total de 7 figuras y su área total es de uds cuadradas En este ejemplo comprobamos que la interface Figura define un tipo. Podemos crear un ArrayList de figuras donde tenemos figuras de distintos tipos (cuadrados, círculos, rectángulos) aprovechándonos del polimorfismo. Esto nos permite darle un tratamiento común a todas las figuras. En concreto, usamos un bucle for-each para recorrer la lista de figuras y obtener un área total. IMPLEMENTAR UNA INTERFACE DEL API JAVA. EJEMPLO. El API de Java define interfaces que aparte de usarlas para definir tipos, nosotros podemos implementar en una clase propia en nuestro código. Esto tiene cierta similitud con hacer una redefinición de un método (ya hemos visto cómo redefinir métodos como tostring()), pero no es exactamente lo mismo. Para empezar, algunos métodos como tostring() están definidos en la clase Object. Estos métodos declarados en la clase Object los podemos redefinir en una clase propia sin necesidad de escribir nada en cabecera de la clase, puesto que por defecto todo objeto hereda de Object. Para utilizar interfaces, como la interfaz Comparable, habremos de escribir en cabecera de la clase: public class NombreDeLaClase implements Comparable <NombreDeLaClase> { } Por ejemplo public class Persona implements Comparable <Persona>. Qué interés tiene implementar una interface del API si no nos proporciona código ninguno? Tal y como dijimos en su momento, una interface puede verse en relación a la programación como una norma urbanística en una ciudad. Si lees la documentación de la interfaz, aunque no proporciona código, sí proporciona instrucciones respecto a características comunes para las clases que la implementen y define qué métodos han de incluirse para cumplir con la interfaz y para qué servirán esos métodos. Si implementamos la interface, lo que hacemos es ajustarnos a la norma. Y si todos los programadores se ajustan a la misma norma, cuando un programador tiene que continuar un programa iniciado por otro no tiene que preguntarse: qué método podré usar para comparar varios objetos de este tipo y ponerlos en orden? Y no hay que preguntárselo porque en general los programadores se ciñen a lo establecido por el API de Java: para comparar varios objetos y ponerlos en orden ( orden natural ) se implementa la interfaz Comparable y su método compareto(). Y además, ya sabemos qué tipo ha de devolver ese método y cómo ha de funcionar, porque así lo indica la documentación de la interface. Muchas clases del API de Java ya tienen implementada la interface Comparable. Por ejemplo la clase Integer tiene implementada esta interfaz, lo que significa que el método compareto() es un método disponible para cualquier objeto de tipo Integer.
6 No podemos conocer ni todas las clases ni todas las interfaces del API de Java. No obstante, a medida que vayamos realizando programas y adquiriendo práctica con Java, nos daremos cuenta de que algunas clases e interfaces son muy usadas. A base de usarlas, iremos memorizando poco a poco sus nombres y métodos. Otras clases o interfaces las usaremos ocasionalmente y recurriremos a la consulta de documentación del API cada vez que vayamos a usarlas. Y otras clases o interfaces quizá no lleguemos a usarlas nunca. EJERCICIO Se plantea desarrollar un programa Java que permita representar la siguiente situación. Una instalación deportiva es un recinto delimitado donde se practican deportes, en Java interesa disponer de un método int gettipodeinstalacion(). Un edificio es una construcción cubierta y en Java interesa disponer de un método double getsuperficieedificio(). Un polideportivo es al mismo tiempo una instalación deportiva y un edificio; en Java interesa conocer la superficie que tiene y el nombre que tiene. Un edificio de oficinas es un edificio; en Java interesa conocer el número de oficinas que tiene. Definir dos interfaces y una clase que implemente ambas interfaces para representar la situación anterior. En una clase test con el método main, crear un ArrayList que contenga tres polideportivos y dos edificios de oficinas y utilizando un iterator, recorrer la colección y mostrar los atributos de cada elemento. Entre qué clases existe una relación que se asemeja a la herencia múltiple? Puedes comprobar si tu respuesta es correcta consultando en los foros aprenderaprogramar.com. Próxima entrega: CU00698B Acceso al curso completo en aprenderaprogramar.com -- > Cursos, o en la dirección siguiente:
CONCEPTO DE INTERFACE Y HERENCIA MÚLTIPLE EN JAVA. IMPLEMENTS. EJEMPLOS Y DIAGRAMAS DE CLASES. (CU00696B)
APRENDERAPROGRAMAR.COM CONCEPTO DE INTERFACE Y HERENCIA MÚLTIPLE EN JAVA. IMPLEMENTS. EJEMPLOS Y DIAGRAMAS DE CLASES. (CU00696B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha
// Método Comunicarse, sera implementado por las clases concretas que hereden de la clase //animal
INTERFACE interface IAnimal { static final int valor=5; // Método Comunicarse, sera implementado por las clases concretas que hereden de la clase //animal public void comunicarse(); abstract class Animal
INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C)
APRENDERAPROGRAMAR.COM INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C) Sección: Cursos Categoría: Lenguaje de programación Java
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
INTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C)
APRENDERAPROGRAMAR.COM INTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C) Sección: Cursos Categoría: Lenguaje de programación Java nivel
SOBREESCRIBIR MÉTODOS EN JAVA: TOSTRING, EQUALS. EJEMPLOS Y EJERCICIOS RESUELTOS. COMPARAR OBJETOS. (CU00694B)
APRENDERAPROGRAMAR.COM SOBREESCRIBIR MÉTODOS EN JAVA: TOSTRING, EQUALS. EJEMPLOS Y EJERCICIOS RESUELTOS. COMPARAR OBJETOS. (CU00694B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero
LA CLASE VECTOR DEL API JAVA. MÉTODOS TRIMTOSIZE Y ENSURECAPACITY EJEMPLO Y EJERCICIOS RESUELTOS. (CU00922C)
APRENDERAPROGRAMAR.COM LA CLASE VECTOR DEL API JAVA. MÉTODOS TRIMTOSIZE Y ENSURECAPACITY EJEMPLO Y EJERCICIOS RESUELTOS. (CU00922C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado
INTERFACE LIST DEL API JAVA. CLASES ARRAYLIST, LINKEDLIST, STACK, VECTOR. EJEMPLO CON ARRAYLIST. (CU00920C)
APRENDERAPROGRAMAR.COM INTERFACE LIST DEL API JAVA. CLASES ARRAYLIST, LINKEDLIST, STACK, VECTOR. EJEMPLO CON ARRAYLIST. (CU00920C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado
TIPO Y MÉTODO ITERATOR. ERROR JAVA.UTIL.CONCURRENT MODIFICATIONEXCEPTION. RESUMEN DE TIPOS DE BUCLES EN JAVA. (CU00667B)
APRENDERAPROGRAMAR.COM TIPO Y MÉTODO ITERATOR. ERROR JAVA.UTIL.CONCURRENT MODIFICATIONEXCEPTION. RESUMEN DE TIPOS DE BUCLES EN JAVA. (CU00667B) Sección: Cursos Categoría: Curso Aprender programación Java
EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C)
APRENDERAPROGRAMAR.COM EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C) Sección: Cursos Categoría: Lenguaje de programación Java nivel
INTERFACE LIST. CLASE LINKEDLIST DEL API JAVA. EJERCICIO RESUELTO Y DIFERENCIAS ENTRE ARRAYLIST Y LINKEDLIST (CU00921C)
APRENDERAPROGRAMAR.COM INTERFACE LIST. CLASE LINKEDLIST DEL API JAVA. EJERCICIO RESUELTO Y DIFERENCIAS ENTRE ARRAYLIST Y LINKEDLIST (CU00921C) Sección: Cursos Categoría: Lenguaje de programación Java nivel
HERENCIA (2ª parte) En Java todas las clases derivan de otra, aunque no se diga explícitamente.
HERENCIA (2ª parte) Lenguajes de Programación - Orientación a Objetos: Herencia 2ª parte 1 Object En Java todas las clases derivan de otra, aunque no se diga explícitamente. Object: Es el nombre de la
Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.
Implementación Orientada a Objetos. Unidad V 5.1 Estructura de una clase. Una clase consiste en: algunas_palabras class nombre_de_la_clase [algo_más] { [lista_de_atributos] [lista_de_métodos] Lo que está
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!
IMPORTAR Y USAR CLASES DEL API DE JAVA. EJEMPLO CLASE MATH Y MÉTODO POW. CONSTRUCTORES PRIVADOS. (CU00647B)
APRENDERAPROGRAMAR.COM IMPORTAR Y USAR CLASES DEL API DE JAVA. EJEMPLO CLASE MATH Y MÉTODO POW. CONSTRUCTORES PRIVADOS. (CU00647B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero
INTERFACES SET Y SORTEDSET DEL API DE JAVA. CLASES HASHSET Y TREESET. EJEMPLO. DIFERENCIAS ENTRE ELLAS. (CU00924C)
APRENDERAPROGRAMAR.COM INTERFACES SET Y SORTEDSET DEL API DE JAVA. CLASES HASHSET Y TREESET. EJEMPLO. DIFERENCIAS ENTRE ELLAS. (CU00924C) Sección: Cursos Categoría: Lenguaje de programación Java nivel
INTERFACE COLLECTION DE JAVA.UTIL DEL API JAVA. EJERCICIOS Y EJEMPLOS RESUELTOS. MÉTODOS ADD, REMOVE, SIZE. STREAMS (CU00917C)
APRENDERAPROGRAMAR.COM INTERFACE COLLECTION DE JAVA.UTIL DEL API JAVA. EJERCICIOS Y EJEMPLOS RESUELTOS. MÉTODOS ADD, REMOVE, SIZE. STREAMS (CU00917C) Sección: Cursos Categoría: Lenguaje de programación
POLIMORFISMO. import java.util.*; class Instrumento { public void tocar() { System.out.println("Instrumento.tocar()"); public String tipo() {
POLIMORFISMO import java.util.*; class Instrumento { System.out.println("Instrumento.tocar()"); public String tipo() { return "Instrumento"; public void afinar() { class Guitarra extends Instrumento {
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
HOJA DE EJERCICIOS 4 INTERFACES Y CLASES ABSTRACTAS EN JAVA Y C++
Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2009/2010 Nombre:... Fecha: / 12 / 2009 HOJA DE EJERCICIOS 4 INTERFACES Y CLASES ABSTRACTAS EN JAVA Y C++ Esta hoja de ejercicios
Clases Abstractas e Interfaces
Clases Abstractas e Interfaces Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria [email protected] Objetivos Aprender a crear y utilizar clases y métodos abstractos
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
EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFACE ITERABLE DEL API DE JAVA Y MÉTODO ITERATOR. RECORRER COLECCIONES DE OBJETOS (CU00915C)
APRENDERAPROGRAMAR.COM EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFACE ITERABLE DEL API DE JAVA Y MÉTODO ITERATOR. RECORRER COLECCIONES DE OBJETOS (CU00915C) Sección: Cursos Categoría: Lenguaje de programación
Ejercicio 1 (proyecto prlistas, paquete listas)
PRÁCTICA 3 Curso 2004-05 En esta práctica construiremos y usaremos dos paquetes: el primero, listas, que implementa listas genéricas y el segundo, colas, que implementa colas y colas de prioridades genéricas.
CLASE 9 -HERENCIA Y POLIMORFISMO
CLASE 9 -HERENCIA Y POLIMORFISMO INTRODUCCIÓN Diferentes tipos de objetos con características y comportamiento comunes. lado1 lado2 lado3 color de línea color de relleno punto Triángulo Círculo radio color
INTERFACES MAP Y SORTEDMAP DEL API JAVA. CLASES HASHMAP Y TREEMAP. EJEMPLO. DIFERENCIAS ENTRE ELLAS. (CU00922C)
APRENDERAPROGRAMAR.COM INTERFACES MAP Y SORTEDMAP DEL API JAVA. CLASES HASHMAP Y TREEMAP. EJEMPLO. DIFERENCIAS ENTRE ELLAS. (CU00922C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado
Conceptos más avanzados de Programación Orientada a Objetos
Conceptos más avanzados de Programación Orientada a Objetos Programación 2008 Licenciatura de Lingüística y Nuevas Tecnologías Repaso: API de Java API = Application Programming Interface Una API describe
ARRAYS O ARREGLOS. EJEMPLOS CON OBJETOS Y TIPOS PRIMITIVOS. CAMPO LENGTH. RESUMEN TIPOS DE COLECCIONES JAVA. (CU00669B)
APRENDERAPROGRAMAR.COM ARRAYS O ARREGLOS. EJEMPLOS CON OBJETOS Y TIPOS PRIMITIVOS. CAMPO LENGTH. RESUMEN TIPOS DE COLECCIONES JAVA. (CU00669B) Sección: Cursos Categoría: Curso Aprender programación Java
Edwin Andrés Cubillos Vega
PROGRAMACION ORIENTADA A OBJETOS Edwin Andrés Cubillos Vega Company LOGO Contenido Introducción Clases y Objetos Herencia Constructores y Destructores Polimorfismo Contenido Introducción Clases y Objetos
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
EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFACE COMPARABLE Y MÉTODO COMPARETO DE JAVA. COMPARAR OBJETOS (CU00913C)
APRENDERAPROGRAMAR.COM EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFACE COMPARABLE Y MÉTODO COMPARETO DE JAVA. COMPARAR OBJETOS (CU00913C) Sección: Cursos Categoría: Lenguaje de programación Java nivel
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
EJEMPLO EJERCICIO RESUELTO CON POLIMORFISMO, SOBREESCRITURA DE MÉTODOS Y HERENCIA JAVA. CÓDIGO (CU00691B)
APRENDERAPROGRAMAR.COM EJEMPLO EJERCICIO RESUELTO CON POLIMORFISMO, SOBREESCRITURA DE MÉTODOS Y HERENCIA JAVA. CÓDIGO (CU00691B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha
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
IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA
IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA Implementación de conceptos P.O.O. en Java Temario 2. Conceptos de Programación Orientada a Objetos 1. Conceptos de P.O.O. 2. Implementación de conceptos P.O.O
Clases y herencia. FJP Unidad 8. Diseño de clases
Clases y herencia FJP Unidad 8 Encapsulamiento Diseño de clases El encapsulamiento provee protección de atributos y métodos definidos en una clase de forma tal que comportamiento de objetos de una clase
Uso de Java Generics (I)
Uno de los temas que mas quebraderos de cabeza da a los desarrolladores es la construcción Java Generics o simplemente clases Genéricas.Vamos a escribir algunos artículos hablando de este tema.para empezar
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 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
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
EL MÉTODO EQUALS EN JAVA. DIFERENCIA ENTRE IGUALDAD E IDENTIDAD. COMPARAR OBJETOS. EJEMPLOS. (CU00662B)
APRENDERAPROGRAMAR.COM EL MÉTODO EQUALS EN JAVA. DIFERENCIA ENTRE IGUALDAD E IDENTIDAD. COMPARAR OBJETOS. EJEMPLOS. (CU00662B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha
TEMA 5. Agenda. Herencia
TEMA 5 Herencia V1.3 Manuel Pereira González Agenda Implementación Métodos Heredados vs Sobreescritos La Clase Object Resumen 1 Introducción Herencia Una clase (subclase ó clase hija) hereda la estructura
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
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)
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
QUÉ ES UNA CLASE JAVA? ATRIBUTOS (PROPIEDADES O CAMPOS), CONSTRUCTOR Y MÉTODOS. (CU00623B)
APRENDERAPROGRAMAR.COM QUÉ ES UNA CLASE JAVA? ATRIBUTOS (PROPIEDADES O CAMPOS), CONSTRUCTOR Y MÉTODOS. (CU00623B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión:
EL PAQUETE JAVA.UTIL DEL API JAVA. PRINCIPALES INTERFACES Y CLASES: STRINGTOKENIZER, DATE, CALENDAR, HASHSET, TREEMAP, TREESET...
APRENDERAPROGRAMAR.COM EL PAQUETE JAVA.UTIL DEL API JAVA. PRINCIPALES INTERFACES Y CLASES: STRINGTOKENIZER, DATE, CALENDAR, HASHSET, TREEMAP, TREESET... (CU00916C) Sección: Cursos Categoría: Lenguaje de
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
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
Derechos de Acceso: COMPOSICION
CLASES Una clase es un tipo definido por el usuario que describe los atributos y los métodos de los objetos que se crearan a partir de la misma. class nombre_clase cuerpo de la clase Derechos de Acceso:
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
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
Patrones de Diseño. Patrón de comportamiento Iterator. Técnicas de Programación - Curso 2007/08
Patrones de Diseño Patrón de comportamiento Iterator Técnicas de Programación - Curso 2007/08 Propósito Proporcionar acceso secuencial a los elementos de un agregado, sin exponer su representación interna
CLASE ARRAYS DEL API JAVA. MÉTODOS PARA ARRAYS EQUALS (COMPARAR), COPYOF (COPIAR), FILL (RELLENAR). EJEMPLOS. (CU00676B)
APRENDERAPROGRAMAR.COM CLASE ARRAYS DEL API JAVA. MÉTODOS PARA ARRAYS EQUALS (COMPARAR), COPYOF (COPIAR), FILL (RELLENAR). EJEMPLOS. (CU00676B) Sección: Cursos Categoría: Curso Aprender programación Java
LA PALABRA CLAVE THIS EN JAVA. CONTENIDO NULL POR DEFECTO DE UN OBJETO. SOBRECARGA DE NOMBRES. EJEMPLOS (CU00654B)
APRENDERAPROGRAMAR.COM LA PALABRA CLAVE THIS EN JAVA. CONTENIDO NULL POR DEFECTO DE UN OBJETO. SOBRECARGA DE NOMBRES. EJEMPLOS (CU00654B) Sección: Cursos Categoría: Curso Aprender programación Java desde
INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA con BlueJ
INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA con BlueJ Tema 3 Clases y Objetos Tema 4 Comunicación entre objetos. Algoritmos Tema 5 Herencia y abstracción de datos Tema 6 Diseño de clases TEMA 5: Herencia
CÓMO CREAR CONSTRUCTORES E INICIALIZAR OBJETOS EN JAVA. EJERCICIO EJEMPLO RESUELTO. (CU00639B)
APRENDERAPROGRAMARCOM CÓMO CREAR CONSTRUCTORES E INICIALIZAR OBJETOS EN JAVA EJERCICIO EJEMPLO RESUELTO (CU00639B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión:
12. Tipos de atributos
Programación orientada a objetos con Java 135 12. Tipos de atributos Objetivos: a) Profundizar en el concepto de atributo de una clase e indicar los tipos de atributos en Java b) Interpretar el código
Interfaces y Clases Internas
Interfaces y Clases Internas (No es interfaz gráfica, sirve como alternativa a herencia múltiple) ELO329: Diseño y Programación Orientados a Objetos Qué queremos decir con interfaces y clases internas?
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
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
Patrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2007/08
Patrones de diseño Patrón básico Handler Técnicas de Programación - Curso 2007/08 Patrones de diseño Introducción Objetivos: Diseño específico para el problema, pero general para poder adecuarse a futuros
Herencia en Java. Agustín J. González Diseño y Programación Orientados a Objetos
Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos 1 Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente,
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
Programación Tema 9: Bibliotecas y Colecciones. Programación DIT-UPM
Programación Tema 9: Bibliotecas y Colecciones 1 Contenidos l Bibliotecas l Concepto de colección l Definición y uso de lista (List, ArrayList) l Recorridos sobre colecciones l Conjunto (Set, HashSet)
Programación orientada a objetos. Introducción
Programación orientada a objetos Clases: Polimorfismo Introducción El polimorfismo, en general, es la característica de un lenguaje orientado a objetos que permite que un mismo identificador de método
Examen Teórico. Convocatoria de Febrero de 2018
Examen Teórico Convocatoria de Febrero de 2018 Nombre: DNI: Grupo: 1. Dado un proyecto Java en Eclipse que tiene como clase principal proyecto.programa y requiere de la librería matemática de Apache commons-math.jar,
Herencia. Hay clases que comparten gran parte de sus características.
Herencia Hay clases que comparten gran parte de sus características. El mecanismo conocido con el nombre de herencia permite reutilizar clases: Se crea una nueva clase que extiende la funcionalidad de
CLASES QUE UTILIZAN OBJETOS. RELACIÓN DE USO ENTRE CLASES JAVA. CONCEPTO DE DIAGRAMA DE CLASES. (CU00641B)
APRENDERAPROGRAMAR.COM CLASES QUE UTILIZAN OBJETOS. RELACIÓN DE USO ENTRE CLASES JAVA. CONCEPTO DE DIAGRAMA DE CLASES. (CU00641B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero
Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión III La Sintaxis de Java II... 6 Estructuras de Control... 7 Estructuras de Selección... 8 Sentencia
Curso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM. Programación en Java Diciembre 2010 Índice 1 Introducción 2 Comportamiento y estado 3 POO en Java 4 Relaciones 5 Herencia
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.
Soluciones Ejercicios Tema 1
BonoMetro (I) 1 Soluciones Ejercicios Tema 1 Germán Moltó Martínez [email protected] Estructuras de Datos y Algoritmos Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia
Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia
Programación orientada a objetos Resumen de Temas Unidad 5: Herencia 5.1 Introducción a la Herencia La herencia es el mecanismo fundamental de relación entre clases en la orientación a objetos. Relaciona
c) Explicar qué es un BreakPoint en Netbeans y para qué sirve. 0,5 punto
Examen de Programación (13294) Convocatoria de Junio 2008 Licenciatura de Lingüística y Nuevas Tecnologías Pregunta 1 a) Explicar qué es un NullPointerException ( por qué ocurre? cuando se produce?). Dar
! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes
Introducción Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual [email protected]! Qué es la POO?! Un paradigma de programación! Un paradigma es una forma de afrontar
HOJA DE EJERCICIOS 3 HERENCIA ENTRE CLASES Y POLIMORFISMO DE MÉTODOS
Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2009/2010 Nombre:... Fecha: / 11 / 2009 HOJA DE EJERCICIOS 3 HERENCIA ENTRE CLASES Y POLIMORFISMO DE MÉTODOS Esta hoja de ejercicios
Herencia y Clases Abstractas
Herencia y Clases Abstractas Reutilización de código y código genérico ELO329: Diseño y Programación Orientados a Objetos Introducción La idea básica es poder crear clases basadas en clases ya existentes.
TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE
MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE Los modificadores de acceso, como su nombre indica, determinan desde qué clases se puede acceder a un determinado elemento. En Java tenemos 4 tipos:
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 10: Interfaces. Índice
Tema 10: Interfaces Antonio J. Sierra Índice 1. Definición de una interfaz. 2. Implementación y uso de una interfaz. 3. Extensión de las interfaces. 4. Modelado UML de las interfaces. 5. Casos de uso.
Herencia. Implementación en Java
Herencia Implementación en Java Herencia Concepto de Herencia Es el mecanismo que permite definir nuevas clases partiendo de otras ya existentes. Las clases que derivan de otras heredan automáticamente
Programación en Java. Instructor:
Instructor: Lección 6: Usando Colecciones 1. Collections 2. Iteración 3. La interfaz Collection 4. Set 5. List 6. Maps 7. La clase Collections Collections Muchos programas requieren de mantener un conjunto
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.
Diseño de tipos Igualdad, representación, código, copia y relación de orden
Práctica 4 Diseño de tipos Igualdad, representación, código, copia y relación de orden Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.1 Índice Gestión de excepciones
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
