Design Patterns, Behavioural Design, Java, Software Development.
brew(); abstract void addCondiments(); // Concrete methods void boilWater() { System.out.println("Boiling water"); } void pourInCup() { System.out.println("Pouring into cup"); } } // Concrete subclass implementing specific beverage - Coffee class Coffee extends Beverage { @Override void brew() {