Aquí tenéis los ejercicios del Tema 9, Interfaces. Creo que son bastante interesantes y os van a ayudar mucho a comprender lo que son las clases abstractas y las interfaces. Si queréis comentar algo sobre los ejercicios o proponer alguna solución mejor que alguna de las propuestas, por favor, no dudéis en comentarlo.
Los ejercicios los tenéis en el siguiente enlace:
Ejercicios Tema 9.
Blog sobre iniciación a Java siguiendo el libro Piensa en Java de Bruce Eckel.
domingo, 19 de febrero de 2012
lunes, 7 de noviembre de 2011
TEMA 9 - INTERFACES
- Clases abstractas y métodos abstractos
Las interfaces y las clases abstractas proporcionan una forma más estructurada de separar la interfaz de la implementación.
Estas características no son tan comunes en los lenguajes de programación. Existen palabras clave en Java para estos conceptos, por tanto, estas ideas fueron consideradas importantes para proporcionar soporte directo.
Una clase abstracta está entre una clase normal y una interfaz. Se trata de una herramienta importante y necesaria para construir clases que dispongan de algunos métodos no implementados.
- Interfaces - Desacoplamiento completo - "Herencia múltiple" en Java - Ampliación de la interfaz mediante herencia - Colisiones de nombres al combinar interfaces - Adaptación a una interfaz - Campos en las interfaces - Inicialización de campos en las interfaces - Anidamiento de interfaces - Interfaces y factorías
Las interfaces y las clases abstractas proporcionan una forma más estructurada de separar la interfaz de la implementación.
Estas características no son tan comunes en los lenguajes de programación. Existen palabras clave en Java para estos conceptos, por tanto, estas ideas fueron consideradas importantes para proporcionar soporte directo.
Una clase abstracta está entre una clase normal y una interfaz. Se trata de una herramienta importante y necesaria para construir clases que dispongan de algunos métodos no implementados.
miércoles, 5 de octubre de 2011
ÍNDICE DE TEMAS
TEMAS DEL TUTORIAL
Tema 1
- Introducción a los objetos
Tema 2
- Todo es un objeto
Tema 3
- Operadores
Tema 4
- Control de ejecución
Tema 5
- Inicialización y limpieza
Tema 6
- Control de acceso
Tema 7
- Reutilización de clases
Tema 8
- Polimorfismo
Tema 9
- Interfaces
Otros enlaces interesantes dentro del blog:
- Ejercicios
- Compilación, ejecución y classpath
- Diferencias entre método equals() y operador ==
- Classpath y package en Linux y Windows
- Classpath y package en Netbeans
- Importación estática de miembros
Tema 1
- Introducción a los objetos
Tema 2
- Todo es un objeto
Tema 3
- Operadores
Tema 4
- Control de ejecución
Tema 5
- Inicialización y limpieza
Tema 6
- Control de acceso
Tema 7
- Reutilización de clases
Tema 8
- Polimorfismo
Tema 9
- Interfaces
Otros enlaces interesantes dentro del blog:
- Ejercicios
- Compilación, ejecución y classpath
- Diferencias entre método equals() y operador ==
- Classpath y package en Linux y Windows
- Classpath y package en Netbeans
- Importación estática de miembros
Ejercicios Tema 8
Después de bastante tiempo sin actualizar el blog por diferentes motivos, acabo de colgar los 17 ejercicios del tema 8. Esta vez los he hecho con Eclipse. Como siempre digo, la solución a los ejercicios es personal, por tanto, para un mismo ejercicio puede haber otras soluciones diferentes. Si véis algún error o no estáis de acuerdo con alguna solución, por favor, no dudéis en decírmelo. Podéis ver los ejercicios en:
Ejercicios Tema 8
Ejercicios Tema 8
viernes, 1 de julio de 2011
POLIMORFISMO
TEMA 8
"En ocasiones me he preguntado, Sr. Babbage, si introduce en la máquina datos erróneos, ¿podrá suministrar las respuestas correctas? Debo confesar que no soy capaz de comprender qué tipo de confusión de ideas puede hacer que alguien plantee semejante pregunta". Charles Babbage (1791-1871)
El polimorfismo, la abstracción de datos y la herencia son las tres características esenciales de un lenguaje de programación orientado a objetos.
- Nuevas consideraciones sobre la generalización
- Por qué olvidar el tipo de un objeto
- El secreto
- Acoplamiento de las llamadas a métodos
- Especificación del comportamiento correcto
- Ampliabilidad
- Error: "sustitución" de métodos private
- Error: campos y métodos static
- Constructores y polimorfismo
- Orden de las llamadas a los constructores
- Herencia y limpieza
- Comportamiento de los métodos polimórficos dentro de
los constructores
- Tipos de retorno covariantes
- Diseño de sistemas con herencia
- Sustitución y extensión
- Especialización e información de tipos en tiempo de
ejecución
"En ocasiones me he preguntado, Sr. Babbage, si introduce en la máquina datos erróneos, ¿podrá suministrar las respuestas correctas? Debo confesar que no soy capaz de comprender qué tipo de confusión de ideas puede hacer que alguien plantee semejante pregunta". Charles Babbage (1791-1871)
El polimorfismo, la abstracción de datos y la herencia son las tres características esenciales de un lenguaje de programación orientado a objetos.
Etiquetas:
Herencia,
Polimorfismo,
POO,
Proyección (cast),
Upcasting
miércoles, 22 de junio de 2011
EJERCICIOS TEMA 7
Por fin tenéis listos los ejercicios del tema 7, son 24, bueno alguno más porque he hecho dos versiones de alguno de ellos. Esta vez no he utilizado Netbeans sino que los he hecho con gedit, el editor de textos de Linux y los he compilado y ejecutado desde la consola. Espero que os sean de utilidad y si tenéis alguna duda o sugerencia, por favor no dudéis en hacerlo. Para ver los ejercicios pinchad en el siguiente enlace:
Ejercicios Tema 7
Ejercicios Tema 7
martes, 7 de junio de 2011
REUTILIZACIÓN DE CLASES
TEMA 7
Una de las características más atractivas de Java es la posibilidad de reutilizar el código. Pero para ser verdaderamente revolucionario es necesario ser capaz de hacer mucho más que simplemente copiar el código y modificarlo.
- Sintaxis de la composición - Sintaxis de la herencia - Inicialización de la clase base - Delegación - Combinación de la composición y de la herencia - Cómo garantizar una limpieza apropiada - Ocultación de nombres - Cómo elegir entre la composición y la herencia - protected - Upcasting (generalización) - ¿Por qué "upcasting"? - Nueva comparación entre la composición y la herencia - La palabra clave final - Datos final - Métodos final - Clases final - Una advertencia sobre final - Inicialización y carga de clases - Inicialización con herencia
Una de las características más atractivas de Java es la posibilidad de reutilizar el código. Pero para ser verdaderamente revolucionario es necesario ser capaz de hacer mucho más que simplemente copiar el código y modificarlo.
Suscribirse a:
Entradas (Atom)