FactoriaJava.com - Desarrollo Java
Curso Desarrollo y Gestión de Aplicaciones Web con Tecnología Java
Tema 03 - Módulo 09 - Clases abstractas e interfaces
FactoriaJava.com - Desarrollo Java
Curso Desarrollo y Gestión de Aplicaciones Web con Tecnología Java
Tema 03 - Módulo 09 - Clases abstractas e interfaces
Conceptos básicos de programación orientada a objetos (poo)Maria Garcia
CONCEPTOS BÁSICOS DE PROGRAMACIÓN ORIENTADA A OBJETOS (POO)
Dentro del perfil de egresado en licenciatura en informática se encuentra que éste debe propiciar proyectos investigativos que contribuyan a la solución de problemas de la comunidad educativa, es ahí donde este módulo proporcionará a los estudiantes tener una visión más amplia en cuanto al tema tecnológico y le permitirán crear proyectos más enriquecedores
Programación Orientada a Objetos - Otras relaciones entre clasesAlvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Creado por Ing. Alvaro Enrique Ruano
Conceptos básicos de programación orientada a objetos (poo)Maria Garcia
CONCEPTOS BÁSICOS DE PROGRAMACIÓN ORIENTADA A OBJETOS (POO)
Dentro del perfil de egresado en licenciatura en informática se encuentra que éste debe propiciar proyectos investigativos que contribuyan a la solución de problemas de la comunidad educativa, es ahí donde este módulo proporcionará a los estudiantes tener una visión más amplia en cuanto al tema tecnológico y le permitirán crear proyectos más enriquecedores
Programación Orientada a Objetos - Otras relaciones entre clasesAlvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Creado por Ing. Alvaro Enrique Ruano
Esta presentación le pertenece a Paúl Arévalo.
Este capítulo introduce el concepto de herencia y clases derivadas.
La herencia hace posible crear jerarquías de clases relacionadas y reduce la cantidad de código redundante en componentes de clases.
La herencia es una herramienta poderosa que proporciona un marco adecuado para producir software fiable, comprensible, de bajo coste, adaptable y reutilizable.
En este material se explica el concepto de herencia.
Te recomiendo que visites:
http://gcoronelc.blogspot.pe/
http://gcoronelc.blogspot.pe/2016/10/eureka-cs-oracle-jdbc.html
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfsandradianelly
Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestr
Today is Pentecost. Who is it that is here in front of you? (Wang Omma.) Jesus Christ and the substantial Holy Spirit, the only Begotten Daughter, Wang Omma, are both here. I am here because of Jesus's hope. Having no recourse but to go to the cross, he promised to return. Christianity began with the apostles, with their resurrection through the Holy Spirit at Pentecost.
Hoy es Pentecostés. ¿Quién es el que está aquí frente a vosotros? (Wang Omma.) Jesucristo y el Espíritu Santo sustancial, la única Hija Unigénita, Wang Omma, están ambos aquí. Estoy aquí por la esperanza de Jesús. No teniendo más remedio que ir a la cruz, prometió regresar. El cristianismo comenzó con los apóstoles, con su resurrección por medio del Espíritu Santo en Pentecostés.
Las capacidades sociomotrices son las que hacen posible que el individuo se pueda desenvolver socialmente de acuerdo a la actuación motriz propias de cada edad evolutiva del individuo; Martha Castañer las clasifica en: Interacción y comunicación, introyección, emoción y expresión, creatividad e imaginación.
2. Una clase abstracta puede contener
métodos no-abstractos pero al
menos uno de los métodos debe
ser declarado abstracto.
Una clase que extiende a una clase En esta clase se declara la
abstracta debe implementar los existencia de métodos pero
métodos abstractos (escribir el no la implementación de
código) o bien volverlos a declarar CLASES dichos métodos (o sea, las
como abstractos, con lo que ella ABSTRACTAS. llaves { } y las sentencias
misma se convierte también en entre ellas)
clase abstracta.
Java proporciona las clases y métodos
abstractos. Un método abstracto es un método
declarado en una clase para el cual esa clase no
proporciona la implementación (el código).
3. Declaración e implementación de métodos abstractos
Por ejemplo, una estructura de clases para manipular figuras geométricas. Podríamos pensar en
tener una clase genérica, que podría llamarse FiguraGeometrica y una serie de clases que
extienden a la anterior que podrían ser Circulo, Polígono, etc. Podría haber un método dibujar
dado que sobre todas las figuras puede llevarse a cabo esta acción, pero las operaciones
concretas para llevarla a cabo dependen del tipo de figura en concreto (de su clase). Por otra
parte la acción dibujar no tiene sentido para la clase genérica FiguraGeometrica, porque esta
clase representa una abstracción del conjunto de figuras posibles.
• Siguiendo con el ejemplo del apartado anterior, se puede escribir:
• abstract class FiguraGeometrica {
...
abstract void dibujar();
...
}
class Circulo extends FiguraGeometrica {
...
void dibujar() {
// codigo para dibujar Circulo
...
}
}
La clase abstracta se declara simplemente con el modificador abstract en su declaración. Los
métodos abstractos se declaran también con el mismo modificador, declarando el método pero
sin implementarlo (sin el bloque de código encerrado entre {}). La clase derivada se declara e
implementa de forma normal, como cualquier otra. Sin embargo si no declara e implementa los
métodos abstractos de la clase base (en el ejemplo el método dibujar) el compilador genera un
error indicando que no se han implementado todos los métodos abstractos y que, o bien, se
implementan, o bien se declara la clase abstracta.
4. Referencias y objetos abstractos
• Se pueden crear referencias a clases abstractas como cualquier otra. No hay
ningún problema en poner:
FiguraGeometrica figura;
• Sin embargo una clase abstracta no se puede instanciar, es decir, no se pueden
crear objetos de una clase abstracta. El compilador producirá un error si se
intenta:
FiguraGeometrica figura = new FiguraGeometrica();
• Esto es coherente dado que una clase abstracta no tiene completa su
implementación y encaja bien con la idea de que algo abstracto no puede
materializarse.
• Sin embargo utilizando el up-casting visto en el capítulo dedicado a la Herencia si
se puede escribir:
FiguraGeometrica figura = new Circulo(. . .);
figura.dibujar();
• La invocación al método dibujarse resolverá en tiempo de ejecución y la JVM
llamará al método de la clase adecuada. En nuestro ejemplo se llamará al método
dibujar de la clase Circulo.
5.
6.
7. Una interface es una variante de una clase abstracta con la condición de que
todos sus métodos deben ser abstractos. Si la interface va a tener atributos,
éstos deben llevar las palabras reservadas static final y con un valor inicial ya
que funcionan como constantes por lo que, por convención, su nombre va en
mayúsculas.
interface Nomina {
public static final String EMPRESA = "Patito, S. A.";
public void detalleDeEmpleado(Nomina obj); }
INTERFACES
Una clase implementa una o más interfaces (separadas con comas ",")
con la palabra reservada implements. Con el uso de interfaces se puede
"simular" la herencia múltiple que Java no soporta.
class Empleado implements Nomina { ... }
8. EJEMPLO
• En este ejemplo, la clase Empleado tiene una clase padre llamada Object
(implícitamente) e implementa a la interface Nomina, quedando el
diagrama de clases de la siguiente manera:
La clase que implementa una interface tiene dos opciones:
1) Implementar todos los métodos de la interface.
2) Implementar sólo algunos de los métodos de la interface pero esa clase
debe ser una clase abstracta (debe declararse con la palabra abstract).
9. INTERFACES
• Solo declaran comportamiento
-Se utiliza la palabra clave interface
- Por defecto todos sus métodos son públicos y abstractos.
-No implementan el comportamiento
• Por defecto todos sus atributos son públicos, constantes y de clase.
• Por legibilidad normalmente los declaramos static y final.
• Permite simular algunos aspectos de la herencia múltiple
-define un tipo de datos
-posibilita el enlace dinámico.
• Otras clases pueden implementar un interfaz
-Cualquier clase implemente un interfaz debe definir todos los
métodos de dicho interfaz
-Si la clase no proporciona la implementación para todos los
métodos del interfaz debe ser declarada como abstracta
10. Extensión de interfaces
• Se puede definir un interface que especialice a
otro interface mediante extends.
• Es similar a la herencia de clases.
• No obstante un interface puede extender a
varios interfaces a la vez
11. Resumen de interfaces
• Los interfaces sirven para:
Declarar métodos que serán implementados por
una o mas clases.
Determinar la interface de programación de un
objeto, sin mostrar el cuerpo de la clase.
Capturar similitudes entre clases no relacionadas,
sin forzar una relación entre ellas.
Describir objetos “tipo-función”, que podrán ser
utilizados como argumentos al invocar métodos
sobre objetos.