class BrukPant { public static void main(String[] arg) { Emballasje lqp = new LitenPlastflaskeMedPant(0.5, "LQP-h", "Plastretur"); System.out.println(); Emballasje lqnp = new LitenPlastflaskeNedbrytbarMedPant(0.5, "LQNP-h", "Plastretur", 27); System.out.println(); Emballasje spnp = new StorPappflaskeNedbrytbarMedPant(3, "SPNP-3", 0.2, 5, "Papirkonteiner", 7); } } abstract class Emballasje { double volum; String produktId; Emballasje(double vol, String id) { volum = vol; produktId = id; System.out.println("Konstruktoeren til klassen Emballasje utfoeres."); } } abstract class Glassemballasje extends Emballasje { Glassemballasje(double vol, String id) { super(vol, id); System.out.println("Konstruktoeren til klassen Glassemballasje utfoeres."); } } abstract class Metallemballasje extends Emballasje { Metallemballasje(double vol, String id) { super(vol, id); System.out.println("Konstruktoeren til klassen Metallemballasje utfoeres."); } } abstract class Plastemballasje extends Emballasje { Plastemballasje(double vol, String id) { super(vol, id); System.out.println("Konstruktoeren til klassen Plastemballasje utfoeres."); } } abstract class Pappemballasje extends Emballasje { double vekt; Pappemballasje(double vol, String id, double vekt) { super(vol, id); this.vekt = vekt; System.out.println("Konstruktoeren til klassen Pappemballasje utfoeres."); } } interface Pant { int finnPant(); String finnReturordning(); } interface Nedbrytbar { double finnNedbrytningstid(); } class LitenPlastflaskeMedPant extends Plastemballasje implements Pant { String returordning; LitenPlastflaskeMedPant(double vol, String id, String retur) { super(vol, id); returordning = retur; System.out.println("Konstruktoeren til klassen " + "LitenPlastflaskeMedPant utfoeres."); } @Override public int finnPant() { return 100; } @Override public String finnReturordning() { return returordning; } } class LitenPlastflaskeNedbrytbarMedPant extends LitenPlastflaskeMedPant implements Nedbrytbar { double nedbrytningstid; LitenPlastflaskeNedbrytbarMedPant(double vol, String id, String retur, double nedbryt) { super(vol, id, retur); nedbrytningstid = nedbryt; System.out.println("Konstruktoeren til klassen " + "LitenPlastflaskeNedbrytbarMedPant utfoeres."); } @Override public double finnNedbrytningstid() { return nedbrytningstid; } } class StorPappflaskeNedbrytbarMedPant extends Pappemballasje implements Nedbrytbar, Pant { int pant; String returordning; double nedbrytningstid; StorPappflaskeNedbrytbarMedPant(double vol, String id, double vekt, int pant, String retur, double nedbryt) { super(vol, id, vekt); this.pant = pant; returordning = retur; nedbrytningstid = nedbryt; System.out.println("Konstruktoeren til klassen " + "StorPappflaskeNedbrytbarMedPant utfoeres."); } @Override public int finnPant() { return pant; } @Override public String finnReturordning() { return returordning; } @Override public double finnNedbrytningstid() { return nedbrytningstid; } }