0% encontró este documento útil (0 votos)
18 vistas11 páginas

Clases Java para Gestión de Pedidos

Cargado por

fede2337
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
18 vistas11 páginas

Clases Java para Gestión de Pedidos

Cargado por

fede2337
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

import [Link].

*;

public class Pedido{

private ArrayList<Renglon> renglones;

public Pedido(Renglon p_renglon){

[Link](new ArrayList<Renglon>());

[Link](p_renglon);

/**

* Constructor sobrecargado de la clase Pedido.

*/

public Pedido(ArrayList p_renglones){

[Link](p_renglones);

/**

* Bloque de Setters, se utilizan para asignar valores a los atributos.

*/

private void setRenglones(ArrayList<Renglon> p_renglones){

[Link]=p_renglones;

/**

* Bloque de Getters, retornan los valores sin modificarlos.

*/

public ArrayList<Renglon> getRenglones(){

return [Link];

/**
* Metodo encargado de ingresar un elemento a la coleccion.

* @return boolean

* @param Renglon p_renglon

*/

public boolean agregarRenglon(Renglon p_renglon){

return [Link]().add(p_renglon);

/**

* Metodo encargado de quitar un elemento de la coleccion.

* @return boolean

* @param Renglon p_renglon

*/

public boolean quitarRenglon(Renglon p_renglon){

return [Link]().remove(p_renglon);

/**

* Metodo encargado de mostrar por pantalla la informacion requerida.

*/

public void mostrar() {

[Link]("Pedido:");

[Link]("Cantidad de Items: " + [Link]().size());

int contador = 1;

int totalEtiquetas = 0;

double totalImporte = 0;

for (Renglon unRenglon : [Link]()) {

[Link]("Item " + contador + ": ");

[Link]();

[Link]("Precio: $" + [Link]());


totalEtiquetas += [Link]();

totalImporte += [Link]();

contador++;

[Link]("--- Total pedido: " + totalEtiquetas + " Etiquetas por un importe total de:
$" + totalImporte);

public class Renglon{

private int cantidad;

private Etiqueta item;

private double importe;

public Renglon(int p_cantidad, double p_importe, Etiqueta p_item){

[Link](p_cantidad);

[Link](p_importe);

[Link](p_item);

/**

* Bloque de Setters, se utilizan para asignar valores a los atributos.

*/

private void setCantidad(int p_cantidad){

[Link] = p_cantidad;

private void setImporte(double p_importe){

[Link] = p_importe;

}
private void setItem(Etiqueta p_item){

[Link] = p_item;

/**

* Bloque de Getters, retornan el valor de los atributos sin modificarlos.

*/

public int getCantidad(){

return [Link];

public double getImporte(){

return [Link];

public Etiqueta getItem(){

return [Link];

/**

* Muestra el detalle del renglón, incluyendo la cantidad de etiquetas y el detalle de la


etiqueta.

*/

public void mostrar() {

[Link]([Link]() + " Etiquetas de " + [Link]().toString());

public abstract class Etiqueta

private double costo;


public Etiqueta(double p_costo)

[Link](p_costo);

/**

* Bloque de Setters, se utilizan para asignar valores a los atributos.

*/

private void setCosto(double p_costo){

[Link] = p_costo;

/**

* Bloque de Getters, retorna el valor de los atributos sin modificarlos.

*/

public double getCosto(){

return [Link];

/**

* Metodo abstracto para calcular el precio de la etiqueta basado en la cantidad.

* @param q. La cantidad de etiquetas.

* @return El precio total de las etiquetas.

*/

public abstract double precio(int q);

/**

* Metodo que devuelve una representacion en cadena de la etiqueta.

*/

public String toString(){


return "tipo - " + " " + [Link]();

/**

* Metodo abstracto que retorna el tipo de etiqueta.

* @return el tipo de etiqueta.

*/

protected abstract String tipo();

public class Premium extends Etiqueta{

private int colores;

public Premium(double p_costo, int p_colores){

super(p_costo);

[Link](p_colores);

/**

* Bloque de, se utilizan para asignar valores a los atributos.

*/

private void setColores(int p_colores){

[Link]=p_colores;

/**

* Bloque de Getters, retorna el valor de los atributos sin modificarlos.

*/

public int getColores(){

return [Link];

}
/**

* Calcula el precio de la etiqueta según la cantidad de colores.

* @param int q . la cantidad de etiquetas

* @return el precio total de las etiquetas

*/

public double precio(int q){

[Link](q);

return [Link]()*q+[Link]();

/**

* Devuelve el tipo de etiqueta.

* @return el tipo de etiqueta, "Premium"

*/

protected String tipo(){

return "Premium";

/**

* Método que devuelve una representación en cadena de la etiqueta.

* @return la representacion en cadena de la etiqueta.

*/

public String toString(){

return [Link]() + " - Costo $" + [Link]() + " - Colores: " + [Link]();

/**

* Calcula el costo adicional según la cantidad de colores.

* @return El costo adicional


*/

private double adicional(){

switch([Link]()){

case 1:

return 0;

case 2:

return [Link]()*0.05;

case 3:

return [Link]()*0.07;

default:

return [Link]()*0.03*[Link]();

public class Comun extends Etiqueta{

private double plus;

public Comun(double p_costo, double p_plus){

super(p_costo);

[Link](p_plus);

/**

* Bloque de, se utilizan para asignar valores a los atributos.

*/

private void setPlus(double p_plus){

[Link] = p_plus;

/**
* Bloque de Getters, retornan los atributos sin modificarlos.

*/

public double getPlus(){

return [Link];

/**

* Metodo que calcula el precio de las etiquetas basandose en la cantidad.

* @param q. la cantidad de etiquetas.

* @return El precio total de las etiquetas.

*/

public double precio(int q){

return [Link]()-[Link](q)+[Link]();

/**

* Calcula el descuento segun la cantidad de etiquetas.

* @param q la cantidad de etiquetas.

* @return el descuento aplicado.

*/

private double descuento(int q){

if(q<=10){

return 0.0;

} else{

if(q<=50){

return [Link]()*0.02;

} else{

if(q<=100){

return [Link]()*0.05;

} else{

return [Link]()*q*0.01;
}

/**

* El metodo devuelve el tipo de etiqueta.

* @return el tipo de etiqueta.

*/

protected String tipo(){

return "Comun";

/**

* Metodo que devuelve una representacion en cadena de la etiqueta.

* @return la representacion en cadena de la etiqueta.

*/

public String toString(){

return [Link]() + " - Costo $" + [Link]() + " - Diseño: $" + [Link]();

import [Link].*;

public class EjPedido {

public static void main(String[] args) {

// Creación de etiquetas

Etiqueta premium1 = new Premium(200.0, 10);

Etiqueta comun1 = new Comun(100.0, 100.0);

Etiqueta premium2 = new Premium(200.0, 7);

// Creación de renglones

Renglon renglon1 = new Renglon(7, [Link](7), premium1);


Renglon renglon2 = new Renglon(57, [Link](57), comun1);

Renglon renglon3 = new Renglon(94, [Link](94), premium2);

// Creación del pedido

Pedido pedido = new Pedido(new ArrayList<>());

[Link](renglon1);

[Link](renglon2);

[Link](renglon3);

// Mostrar detalle del pedido

[Link]();

También podría gustarte