lunes, 28 de mayo de 2012

CLASES INTERNAS

TEMA 10

- Creación de clases internas
- El enlace con la clase externa
- Utilización de .this y .new
- Clases interna y generalización
- Clases internas en los métodos y ámbitos
- Clases internas anónimas
  • Un nuevo análisis del método factoría
- Clases anidadas
  • Clases dentro de interfaces
  • Acceso al exterior desde una clase múltiplemente anidada
- ¿Para qué se usan las clases internas?
  • Cierres y retrollamadas
  • Clases internas y marcos de control
- Cómo heredar de clases internas
- ¿Pueden sustituirse las clases internas?
- Clases internas locales
- Identificadores de una clase interna

Resulta posible situar la definición de una clase dentro de la definición de otra. Dichas clases se llaman clases internas.

domingo, 19 de febrero de 2012

Ejercicios Tema 9

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.

lunes, 7 de noviembre de 2011

TEMA 9 - INTERFACES

- Clases abstractas y métodos abstractos
- 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

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

viernes, 1 de julio de 2011

POLIMORFISMO

TEMA 8
- 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.

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