package com.javarush.test.level15.lesson12.bonus02; /* Template pattern 1. В отдельном файле создать класс DrinkMaker с тремя абстрактными методами: - void getRightCup() - выбрать подходящую чашку - void putIngredient() - положить ингредиенты - void pour() - залить жидкостью 2. В классе DrinkMaker создать и реализовать метод void makeDrink(), который готовит напиток в такой последовательности: выбирает чашку, кладет ингредиенты, заливает жидкостью. 3. В отдельных файлах создать классы LatteMaker и TeaMaker, которые наследуются от DrinkMaker. 4. Распредели следующие фразы между всеми методами в классах LatteMaker и TeaMaker, различные фразы для различных методов. 5. Каждый метод должен выводить в консоль свою фразу не пересекаясь с другими методами. 6. Фразы: "Заливаем водой" "Берем чашку для латте" "Насыпаем чай" "Берем чашку для чая" "Заливаем молоком с пенкой" "Делаем кофе" */ public class Solution { public static void main(String[] args) { } }
package com.javarush.test.level15.lesson12.bonus02; public abstract class DrinkMaker { public abstract void getRightCup(); public abstract void putIngredient(); public abstract void pour(); public void makeDrink() { getRightCup(); putIngredient(); pour(); } }
package com.javarush.test.level15.lesson12.bonus02; public class TeaMaker extends DrinkMaker { @Override public void getRightCup() { System.out.println("Берем чашку для чая"); } @Override public void putIngredient() { System.out.println("Насыпаем чай"); } @Override public void pour() { System.out.println("Заливаем водой"); } }
package com.javarush.test.level15.lesson12.bonus02; public class LatteMaker extends DrinkMaker { @Override public void getRightCup() { System.out.println("Берем чашку для латте"); } @Override public void putIngredient() { System.out.println("Делаем кофе"); } @Override public void pour() { System.out.println("Заливаем молоком с пенкой"); } }
Leave A Comment