lunes, 19 de agosto de 2013

CÓDIGO A PARTIR DE DIAGRAMA UML


DIAGRAMA UML



Como se puede observar en el diagrama uml, son 3 clases; Cuadrilátero, Rectángulo y Cuadrado, las cuales todas están asociadas por herencia; Cuadrado hereda de Rectángulo, y a su vez Rectángulo hereda de Cuadrilátero.

Luego de haber creado un nuevo proyecto y haber creado una nueva clase llamada Cuadrilátero, procedemos a digitar los atributos, que son 4

public double bas1;
public double bas2;
public double alt1;
public double alt2;

Una vez creados los atributos, procedemos a crear los métodos, primero generamos el constructor

public Cuadrilatero(double b1, double b2, double a1, double a2)
        {
            bas1 = b1;
            bas2 = b2;
            alt1 = a1;
            alt2 = a2;
        }

Una  vez generado el metodo constructor, generamos el siguiente método

        public virtual double calcPerimetro()
        {
            return bas1 + bas2 + alt1 + alt2;
        }

La sentencia "virtual" indica que el método puede ser modificado por las clases herederas.

Una vez finalizado el modelado de la primera clase, pasamos a modelas la clase Rectángulo, la cual se designa la herencia de la siguiente forma

class Rectangulo : Cuadrilatero

Esta clase solo tienes dos métodos, el constructor y método de calculo. Para el método constructor se utiliza el siguiente codigo

public Rectangulo(double lad1,double lad2)
            :base(lad1,lad1,lad2,lad2)
        {
            
        }

Donde la sentencia ":base", se puede tomar como el "super" en java, ya que este permite llamar el generar el constructor a partir de la clase padre.

Para el método calcPerim se usa el siguiente código

        public override double calcPerim()
        {
            return bas1 + bas2 + alt1 + alt2;
        }

La sentencia override indica que este método sobrescribirá el método de la clase padre.

Para la clase Cuadrado es similar para que para la clase anterior.

class Cuadrado : Rectangulo
    {
        public Cuadrado(double lado)
            : base(lado, lado)
        { }

        public override double calcularPerim()
        {
            return bas2*4;
        }

    }



No hay comentarios:

Publicar un comentario