Filtro CPL Polarizado ventajas

Crear una clase Producto en Java - Herencia Simple - POO1

Crear una clase Producto en Java - Herencia Simple - POO1


Ejemplo de Herencia en Java (Herencia simple)

Nos piden hacer que gestionemos una serie de productos.

Los productos tienen los siguientes atributos:
▪ Nombre
▪ Precio
▪ Descripción

Tenemos dos tipos de productos:
▪ Perecedero: tiene un atributo llamado días a caducar
▪ No perecedero: tiene un atributo llamado clave


Crea sus constructores, getters, setters y toString.

Tendremos una función llamada calcular, que según cada clase hará una cosa u otra, a esta función le pasaremos un número que representa la cantidad de productos

▪ En Producto, simplemente seria multiplicar el precio por la cantidad de productos pasados.
▪ En Perecedero, aparte de lo que hace producto, el precio se reducirá según los días a caducar:
● Si le queda 5 días para caducar, se reducirá 4 veces el precio final.
● Si le quedan 15 días para caducar, se reducirá 3 veces el precio final.
● Si le quedan 30 días para caducar, se reducirá a la mitad de su precio final.
▪ En NoPerecedero, hace lo mismo que en producto


Crea una clase ejecutable y crea un Array de productos y muestra el precio total de vender 3 productos de cada uno. Crea tú mismo los elementos del Array.


La clase padre sería Productos.java


//Iván Luis Jiménez
public class Productos {
    private String nombre;
    private float precio;
    private String descripcion;
    
    public Productos(){
        
    }
    
    public Productos(String nombre, float precio, String descripcion){
        this.nombre = nombre;
        this.precio = precio;
        this.descripcion = descripcion;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public float getPrecio() {
        return precio;
    }

    public void setPrecio(float precio) {
        this.precio = precio;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    @Override
    public String toString() {
        return "Productos{" + "nombre=" + nombre + ", precio=" + precio + ", descripcion=" + descripcion + '}';
    }
    
    public float calcular(int cantidad_productos){
        
        float fin = precio * cantidad_productos;
        setPrecio(fin);
        return fin;
    }
    
    
    
}

La clase producto_no_perecedero.java herada de la clase Productos
//Iván Luis Jiménez
public class producto_no_perecedero extends Productos{
    private int clave;
    
    public producto_no_perecedero(){
        
    }
    
    public producto_no_perecedero(int clave, String nombre, float precio, String descripcion){
        super(nombre, precio, descripcion);
        this.clave = clave;
    }

    public int getClave() {
        return clave;
    }

    public void setClave(int clave) {
        this.clave = clave;
    }

    @Override
    public String toString() {
        return "producto_no_perecedero{" + "clave=" + clave + '}';
    }
    
    public float calcular(int cantidad_productos){
        System.out.println("No perecedero");
        float fin = getPrecio() * cantidad_productos;
        setPrecio(fin);
        return fin;
    }
    
}

La clase producto_perecedero.java herada de la clase Productos
//Iván Luis Jiménez
public class producto_precedero extends Productos{
    private int dias_para_caducar;
    
    public producto_precedero(){
        
    }
    
    public producto_precedero(int dias_para_caducar, String nombre, float precio, String descripcion){
        super(nombre, precio, descripcion);
        this.dias_para_caducar = dias_para_caducar;
        
    }

    @Override
    public String toString() {
        return "producto_precedero{" + "dias_para_caducar=" + dias_para_caducar + '}';
    }

    public int getDias_para_caducar() {
        return dias_para_caducar;
    }

    public void setDias_para_caducar(int dias_para_caducar) {
        this.dias_para_caducar = dias_para_caducar;
    }
    
    float precio_total = 0;
    public float calcular(int cantidad_productos){
        System.out.println("Perecedero");
        float precio_final = super.calcular(cantidad_productos);
        System.out.println("Precio total:"+precio_final +" \n * Aplicando descuento por caducidad...");
        if(getDias_para_caducar() == 5){
            precio_total = precio_final - (precio_final / 4);
            setPrecio(precio_total);
        }else if(getDias_para_caducar() == 15){
            precio_total = precio_final - (precio_final / 3);
            setPrecio(precio_total);
        }else if(getDias_para_caducar() == 30){
            precio_total = precio_final - (precio_final / 2);
            setPrecio(precio_total);
        }
        return precio_total;
    }
   
}

La clase ejecutable no hereda de nada, solo ejecuta el programa y es donde se crean los objetos o instancias para darle utilidad a la herencia.
//Iván Luis Jiménez

public class ejecutable {
    
    public static void main(String[] args){
        Productos[] productos = new Productos[6];
        productos[0] = new producto_precedero(5, "Capsu", 25, "Jugo rojo agridulce");
        productos[1] = new producto_precedero(15, "Paleta", 12, "Dulce rojo");
        productos[2] = new producto_precedero(30, "Dulce 2", 28, "Dulce 2 tambien");
        productos[3] = new producto_no_perecedero(12, "Churrumais", 12, "Palitos de maiz");
        productos[4] = new producto_no_perecedero(32, "Galletitas", 29, "Galletita abuelita");
        productos[5] = new producto_no_perecedero(69, "Marias", 36, "Galletas marias");
        
        for(int i = 0; i < productos.length; i++){
            System.out.println("Precio del producto "+(i + 1) +" es "+ productos[i].getPrecio() + " x 5 productos");
            System.out.println("* Total a pagar: "+productos[i].calcular(5));
        }
    }
}

Espero el ejemplo les ayude!
Link de descarga del proyecto:
Descargar

http://raboninco.com/GCTo

Created by Ivanovich.
Cualquier duda, comentario o sugerencia manda mensaje a: ivanthebest10@gmail.com

Comentarios

  1. Buenos dias me piden crear los siguiente,

    Un cotizador de costo de material es decir unidad de medida, y precio unitario y precio total y que esto se sume con mano de obra es decir trabajador unidad, costo por unidad y total de mano de obra y al final de un resultado total de cotizacion....... me podrias ayudar te dejo mi correo franco_3jg@hotmail.com

    ResponderBorrar
  2. Buenos días me podrias ayudar con este código

    Registro de Productos: El módulo debe permitir el ingreso de nuevos productos permitiendo registrar su nombre, tipo de producto y presentación (jarabe, ampolletas, pastas).

    Actualización Información de Productos: En este módulo se debe permitir actualizar la información del producto ya registrado o la modificación de los datos relacionados con ésta.

    Entrega de productos: En este módulo debe permitir realizar la entrega de productos, registrando el producto, los datos básicos del cliente y la EPS.
    • Consulta de Productos: En este módulo debe permitir consultar información relacionada con los productos, teniendo como criterios de consulta como: El nombre del producto, el tipo de producto y la presentación.

    Estoy atento a mi correo williamsanchezorjuela@gmail.com

    cordial Saludo

    ResponderBorrar

Publicar un comentario