Está en la página 1de 6

UNIVERSIDAD TECNOLGICA DE CAMPECHE

INGENIERA EN TECNOLOGAS DE LA INFORMACIN

UNIDAD II
MATERIA:

PROGRAMACIN DE APLICACIONES
ACTIVIDAD:

CLASES ABSTRACTAS
ALUMNA:

LORENA ELIZABETH VERA PREZ


DOCENTE:

LUIS ALFREDO ISIDRO METELN

CUATRIMESTRE Y GRUPO:

7 A

San Antonio Crdenas, Carmen, Campeche Octubre de 2015

INTRODUCCIN
Las clases abstractas son similares a las clases normales en su construccin y
concepto aunque se diferencian de estas en 2 aspectos fundamentales:

Una clase abstracta no puede ser instanciada, no podremos crear objetos a partir
de ellas.
Una clase abstracta puede incorporar mtodos abstractos. Los mtodos
abstractos son aquellos que solo existe su declaracin, dejando su
implementacin a las futuras clases extendidas o derivadas.

Una clase abstracta puede contener funciones y mtodos que sern utilizados por
las clases que implementen la clase abstracta. En cada clase abstracta, podemos
declarar mtodos, funciones, eventos, delegados, propiedades y variables.
Una clase abstracta puede incluir funcionalidad, al contrario que una interfaz. Una
clase slo puede implementar una nica clase abstracta, ya que no existe soporte
para herencia mltiple. Independientemente de todo lo comentado hasta ahora, una
clase que herede de una clase abstracta no tiene porqu implementar ningn
mtodo abstracto de la misma ya que como clase derivada, es en s misma una
clase abstracta.
Finalmente, una clase abstracta puede contener estados (data members) e
implementaciones (funciones y mtodos).

DESARROLLO
Clases definidas en la jerarqua que simplemente recogen las caractersticas
comunes de otra serie de clases (sus descendientes), pero que no se van a o no se
deben utilizar para crear ejemplares.
Una clase que declara la existencia de mtodos pero no la implementacin de
dichos mtodos, estos mtodos no hacen nada, solo son declarados, se considera
una clase abstracta. Una clase abstracta puede contener mtodos no abstractos
pero al menos uno de los mtodos debe ser abstracto.
Caractersticas de una Clase abstracta:

Modela el comportamiento comn de sus clases derivadas.


Establece mtodos que necesariamente han de ser implementados por sus
subclases (las clases derivadas)

Mtodos Abstractos.

Mtodos sin cdigo, se declaran pero no se definen.


Deben definirse en alguna subclase.
Si una subclase no implementa un mtodo abstracto heredado debe ser
abstracta tambin.
Un mtodo abstracto debe pertenecer a una clase abstracta.
Implementa mtodos que son comunes a todas sus subclases (No abstractos).
La clase abstracta puede definir atributos comunes a sus subclases.
En el sistema no se crean ejemplares de la clase abstracta porque no seran
objetos con existencia propia en el mundo real.

Representacin Grfica.

Clases Abstractas: Objeto Grafico y Paralelogramo en el programa de dibujo slo


se van a crear objetos grficos concretos de: puntos, elipses, crculos, cuadrados,
rectngulos, rombos o romboides.
Estructura

Ejemplo
Como ejemplo tomaremos dos figuras geomtricas, el Rectngulo y el Tringulo
rectngulo, para el ejemplo slo consideraremos dos caractersticas similares: el
ancho y el alto, por lo que podemos crear una sper clase Figura geomtrica con
estas dos caractersticas y sus mtodos correspondientes, adems del mtodos
getrea() que devolver el rea de la Figura. Pero, se presenta un problema, el
clculo del rea del Rectngulo es diferente al clculo del rea del Tringulo.
rea del Rectngulo = ancho X alto
rea del Tringulo = (ancho X alto)/2
Por lo tanto, el mtodo getrea() deber ser abstracto, por lo cual, la clase Figura
tambin deber ser abstracta.

CONCLUSIN
Para concluir en este tema las clases abstractas los tipos de datos son privado para
todas aquellas clases que no son derivadas, pero pblico para una clase derivada
de la clase en la que se ha definido la variable como protected.
Una clase abstracta no se puede instanciar (es decir no se pueden volver en
objetos) pero si se puede heredar y las clases hijas sern las encargadas de agregar
la funcionalidad a los mtodos abstractos.
Muchas veces se confunde con clase base. No es que sean muy diferentes, pero
ojo, tampoco son la misma cosa. Es importante aclarar este aspecto. De hecho, una
clase abstracta puede contener lgica y funcionalidad, algo que es coincidente con
una clase base.
Sin embargo, no es posible instanciar una clase abstracta, mientras que en el caso
de una clase base s tal y como coment anteriormente. Es decir, para utilizar una
clase abstracta, no tenemos ms remedio que heredar de ella.
No obstante, podemos sobre escribir los miembros, mtodos y funciones de una
clase abstracta, e incluso extender la clase que herede de ella con las
particularidades que consideremos oportunas.

También podría gustarte