martes, 7 de abril de 2015

Clases Abstractas

CLASES ABSTRACTAS


Hola, en esta ocasión quiero hablar sobre las clases abstractas y su implementación en el diagrama de clases poligonos regulares, como bien se sabe una clase abstracta no necesariamente debe tener métodos abstractos, en algunos casos la clase abstracta simplemente sirve para efectuar operaciones comunes a subclases sin necesidad de métodos abstractos. en otros casos si se usaran los métodos abstractos para referenciar operaciones en la clase abstracta del contenido de la sobreescritura en las subclases.

Las clases TRIANGULO, CUADRADO y PENTÁGONO pueden ser no abstractas ya que es una de las razones de ser de las clases abstractas, una clase abstracta no puede ser instanciada, pero pueden crearse subclases concretas sobre la base de una clase abstracta, y crear instancias de esas subclases, para esto hay que heredar de la clase abstracta y anular los métodos abstractos implementandolos.



En el diagrama podemos observar cómo hemos definido una clase abstracta denominada PoligonoRegular, se identifica señalando <<abstract>> en la parte superior del icono de la clase. Sin embargo, hereda de la clase Punto que no es abstracta, lo cual significa que puede haber instancias de Punto pero no de PoligonoRegular.

Triangulo, cuadrado y pentágono son subclases de la clase abstracta PoligonoRegular, que a su vez obtiene el metodo Punto en la clase Punto que es no abstracta y con ella varios metodos mas como lo son Punto con dos parámetros Double y Eje que a su vez es una clase <<enumeration>> que es una clase “especial” que limitan la creación de objetos  a los especificados explícitamente en la implementación de la clase. La única limitación que tienen los enumerados respecto a una clase normal es que si tiene constructor, este debe de ser privado para que no se puedan crear nuevos objetos.

Muchas gracias, nos veremos en otra ocasión.




No hay comentarios:

Publicar un comentario