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; } }