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