package com.trifulcas.clases;
public class Producto {
public String referencia;
public double precio;
public double iva;
public double descuento;
public double PVP() {
// La palabra clave this hace referencia al valor
// de la propiedad del objeto en el que estamos
return this.precio*(1+this.iva);
}
// Función descuento que nos devuelva el precio menos un 10%
public double descuento() {
return this.PVP()*(1-this.descuento);
}
// Toda clase puede tener un constructor
// Se llama cuando instanciamos la clase, al hacer new
// Si pongo un parámetro en elconstructor
// Obligo a que cuando se instancie pongan ese valor
public Producto(String referencia) {
// ¿Qué ponemos dentro de un constructor?
// Todas aquellas inicializaciones que necesite nuestra clase
// Si nuestra clase necesita algunos valores por defecto
// También los ponemos aquí
this.referencia=referencia;
this.iva=.21;
this.descuento=.1;
}
}
package com.trifulcas.clases;
public class ProbarClases {
public static void main(String[] args) {
// Al tener un constructor con parámetro
// Se lo tengo que pasar al instanciarlo
Producto tarta=new Producto("Tarta chupiguay");
Producto cupcake=new Producto("Magdalena con ínfulas");
// Esto ahora da error porque es obligatorio pasar la referencia
//Producto foo=new Producto();
tarta.precio=100;
cupcake.precio=10;
System.out.println(tarta.referencia);
System.out.println(tarta.PVP());
System.out.println(tarta.descuento());
System.out.println(PVP(tarta.precio));
System.out.println(cupcake.PVP());
}
public static double PVP(double precio) {
return precio*1.21;
}
}