import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
class Odziez {
public Odziez
(String nazwa
) { this.
nazwa = nazwa
; }
@Override
public String toString
() { return nazwa
; } }
interface Program {
void wykonaj(Odziez odziez);
}
class Pralka {
private List<Program> programs = new ArrayList<Program>();
public void add(Program program) { programs.add(program); }
public void remove
(String programName
) { Iterator<Program> iter = programs.iterator();
while(iter.hasNext()) {
if (iter.next().programName().equalsIgnoreCase(programName))
iter.remove();
}
}
public void start(Odziez odziez) {
for (Program p : programs)
p.wykonaj(odziez);
}
}
class Wirowanie implements Program {
@Override
public void wykonaj(Odziez odziez) {
System.
out.
println("Wirowanie: " + odziez
); }
@Override
return "WIROWANIE";
}
}
class Suszenie implements Program {
@Override
public void wykonaj(Odziez odziez) {
System.
out.
println("Susze: " + odziez
); }
@Override
return "SUSZENIE";
}
}
public class Main {
public static void main
(String[] args
) { Pralka pralka = new Pralka();
pralka.add(new Wirowanie());
pralka.add(new Suszenie());
pralka.start(new Odziez("Koszulka"));
pralka.remove("SUSZENIE");
pralka.start(new Odziez("Sweter"));
}
}