Clases Abstractas

4
Clases abstractas

description

informatica

Transcript of Clases Abstractas

Clases abstractas

Clases abstractas

ConceptoHay ocasiones, cuando se desarrolla una jerarqua de clases en que algn comportamiento est presente en todas ellas pero se materializa de forma distinta para cada una. Por ejemplo, pensemos en una estructura de clases para manipular figuras geomtricas. Podramos pensar en tener una clase genrica, que podra llamarse FiguraGeometrica y una serie de clases que extienden a la anterior que podran ser Circulo, Poligono, etc. Podra haber un mtodo dibujar dado que sobre todas las figuras puede llevarse a cabo esta accin, pero las operaciones concretas para llevarla a cabo dependen del tipo de figura en concreto (de su clase). Por otra parte la accin dibujar no tiene sentido para la clase genrica FiguraGeometrica, porque esta clase representa una abstraccin del conjunto de figuras posibles.Concepto:

En palabras muy sencillas:Es una clase que tiene mtodos, como todas, pero los mtodos estn vacos, sin una sola lnea de cdigo.Es solamente una clase que declara mtodos pero sin cuerpo, es decir no hacen nada los mtodos de la clase pero si se tiene otra clase y la hereda de esa clase abstracta, FORZOSAMENTE tiene que implementar los mtodos que dice la clase abstracta y hacer la propia versin de lo que ese mtodo debera hacer.Ejemplo

Declaracin e implementacin de mtodos abstractosSiguiendo 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 . . . }}