Autor Tema: Proyectos Java jerarquía organizativa crear packages BlueJ Ejercicio CU00674B#  (Leído 3992 veces)

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Presento las clases de la lección de los 'packages' ejercicio CU00674B del curso básico de programación orientada a objetos de aprenderaprogramar.

Clase TestPackage. Esta clase incorpora 3 líneas 'import' con la ruta de cada package para acceder las clases allí contenidas.

Código: [Seleccionar]
package CU00674B.formas;
import CU00674B.formas.formas1dimension.*;
import CU00674B.formas.formas2dimension.*;
import CU00674B.formas.formas3dimension.*;
/**
 * Detalles de la clase.
 * @author (Toni)
 * @version (0)
 */
public class TestPackage { 
    public static void main (String [] args) {
        // Objetos formas1dimension
        Recta miRecta = new Recta();
        Curva miCurva = new Curva();
        // Objetos formas2dimension
        Triangulo miTriangulo = new Triangulo();
        Cuadrilatero miCuadrilatero = new Cuadrilatero();
        Elipse miElipse = new Elipse();
        Parabola miParabola = new Parabola();
        Hiperbola miHiperbola = new Hiperbola();
        // Objetos formas3dimension
        Cilindro miCilindro = new Cilindro();
        Cono miCono = new Cono();
        Esfera miEsfera = new Esfera();
    } // fin del main
} // Fin de la clase TestPackage


Clase Recta

Código: [Seleccionar]
package CU00674B.formas.formas1dimension;

/**
 * Detalles de la clase.
 * @author (Toni)
 * @version (0)
 */
public class Recta {             // Atributos de la clase Recta
    int x, y, largo;
    float angulo;
    //Constructor para objetos de la clase Recta
    public Recta() {            // Inicializa atributos
        x = 10;
        y = 20;
        largo = 30;
        angulo = 45.0f;
    } // Fin del constructor Recta
    public Recta (int x, int y, int largo, float angulo) {
        this.x = x;
        this.y = y;
        this.largo = largo;
        this.angulo= angulo;
    }
    // Siguen los setters para los atributos de la clase Recta
    public void setX (int x) { this.x = x; }

    public void setY (int y) { this.y = y; }

    public void setLargo (int largo) { this.largo = largo; }

    public void setAngulo (float angulo) { this.angulo= angulo; }
    // Ahora los getters para los atributos de la clase Recta
    public int getX () { return x; }

    public int getY () { return y; }

    public int getLargo () { return largo; }

    public float getAngulo () { return angulo; }
    // Y seguidamente, metodos varios.

} // Fin de la clase Recta


Clase Curva

Código: [Seleccionar]
package CU00674B.formas.formas1dimension;

/**
 * Detalles de la clase.
 * @author (Toni)
 * @version (0)
 */
public class Curva {
    public Curva() {            // Inicializa atributos
       
    } // Fin del constructor Curva

} // Fin de la clase Curva


Clase Triangulo

Código: [Seleccionar]
package CU00674B.formas.formas2dimension;

/**
 * Detalles de la clase.
 * @author (Toni)
 * @version (0)
 */
public class Triangulo {
    public Triangulo() {            // Inicializa atributos
       
    } // Fin del constructor Triangulo
} // Fin de la clase Triangulo


Clase Cuadrilatero

Código: [Seleccionar]
package CU00674B.formas.formas2dimension;

/**
 * Detalles de la clase.
 * @author (Toni)
 * @version (0)
 */
public class Cuadrilatero {
    public Cuadrilatero() {            // Inicializa atributos
       
    } // Fin del constructor Cuadrilatero
} // Fin de la clase Cuadrilatero


Clase Elipse

Código: [Seleccionar]
package CU00674B.formas.formas2dimension;

/**
 * Detalles de la clase.
 * @author (Toni)
 * @version (0)
 */
public class Elipse {
    public Elipse() {            // Inicializa atributos
       
    } // Fin del constructor Elipse

} // Fin de la clase Elipse


Clase Parabola

Código: [Seleccionar]
package CU00674B.formas.formas2dimension;

/**
 * Detalles de la clase.
 * @author (Toni)
 * @version (0)
 */
public class Parabola {
    public Parabola() {            // Inicializa atributos
       
    } // Fin del constructor Parabola
} // Fin de la clase Parabola


Clase Hiperbola

Código: [Seleccionar]
package CU00674B.formas.formas2dimension;

/**
 * Detalles de la clase.
 * @author (Toni)
 * @version (0)
 */
public class Hiperbola {
    public Hiperbola() {            // Inicializa atributos
       
    } // Fin del constructor Hiperbola
} // Fin de la clase Hiperbola


Clase Cilindro

Código: [Seleccionar]
package CU00674B.formas.formas3dimension;

/**
 * Detalles de la clase.
 * @author (Toni)
 * @version (0)
 */
public class Cilindro { 
    public Cilindro() {            // Inicializa atributos
       
    } // Fin del constructor Cilindro
} // Fin de la clase Cilindro


Clase Cono

Código: [Seleccionar]
package CU00674B.formas.formas3dimension;

/**
 * Detalles de la clase.
 * @author (Toni)
 * @version (0)
 */
public class Cono {
    public Cono() {            // Inicializa atributos
       
    } // Fin del constructor Cono
 
} // Fin de la clase Cono


Clase Esfera

Código: [Seleccionar]
package CU00674B.formas.formas3dimension;

/**
 * Detalles de la clase.
 * @author (Toni)
 * @version (0)
 */
public class Esfera {
    public Esfera() {            // Inicializa atributos
       
    } // Fin del constructor Esfera
 
} // Fin de la clase Esfera
« Última modificación: 02 de Agosto 2019, 23:29 por Ogramar »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Ejercicio CU00674B
« Respuesta #1 en: 21 de Julio 2014, 23:38 »
Hola Toni, todo correcto. A modo de curiosidad, para las personas que intenten compilar el código, cuando intentamos hacerlo con BlueJ se obtiene el siguiente mensaje (error package-name-invalid):
 
You have changed the package statement to a package which does not exist in this project. If you wish to move this class to another package you must create the destination package first. The package statement has been reverted back to its original form.

Que lo que viene a decir es que antes de incluir código declarando packages, hemos de crearlos previamente en BlueJ. Si no los creamos, BlueJ anula la declaración de packages o emite errores. A veces (sobre todo si se trata de una única clase) es irrelevante que BlueJ anule el package. En cambio, si se trata de distintos packages con clases interrelacionadas sí puede resultar relevante.

Para solucionar esto con BlueJ, hay que crear previamente la estructura de packages.

Saludos.
« Última modificación: 02 de Agosto 2019, 23:26 por Ogramar »

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".