public HashMap<String, Double> output(Double power){ HashMap<String, Double> res = new HashMap<>(); res.put("voltage", new Double(20)); res.put("power", power); return res; } }
publicclassTest{ publicstaticvoidmain(String[] args){ Power householdPower = new HouseholdPower(); ElectricAppliance laptop = new Laptop(new Double(20), new Double(60)); PowerAdapter powerAdapter = new PowerAdapter(new Double(220), new Double(60));
System.out.println("----- Not used power adapter. -----"); // 家用电源直接对笔记本电脑供电,电脑无法工作 HashMap<String, Double> householdPowerOutput = householdPower.output(new Double(60)); laptop.input(householdPowerOutput.get("voltage"), householdPowerOutput.get("power"));
System.out.println();
System.out.println("----- Used power adapter. -----"); // 通过电源适配器给电脑供电,电脑正常工作 powerAdapter.input(householdPowerOutput.get("voltage"), householdPowerOutput.get("power")); HashMap<String, Double> powerAdapterOutput = powerAdapter.output(new Double(60)); laptop.input(powerAdapterOutput.get("voltage"), powerAdapterOutput.get("power")); } }
输出如下:
1 2 3 4 5 6 7 8 9
----- Not used power adapter. ----- patterns.adapter.Laptop get voltage 220.0V power 60.0W. patterns.adapter.Laptop can't work!
----- Used power adapter. ----- patterns.adapter.PowerAdapter get voltage 220.0V power 60.0W. patterns.adapter.PowerAdapter work! patterns.adapter.Laptop get voltage 20.0V power 60.0W. patterns.adapter.Laptop work!