-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
134 lines (96 loc) · 5.63 KB
/
Solution.java
File metadata and controls
134 lines (96 loc) · 5.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
//You are my friends, if you do whatever I command you. (John 15:14)
-----------------------------------------------Solution.java-----------------------------------------------------------------------
package com.javarush.task.task15.task1530;
/*
Template pattern
*/
public class Solution {
public static void main(String[] args) {
}
}
-----------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------DrinkMaker.java---------------------------------------------------------------------
package com.javarush.task.task15.task1530;
public abstract class DrinkMaker {
abstract void getRightCup();
abstract void putIngredient();
abstract void pour();
void makeDrink() {
getRightCup();
putIngredient();
pour();
}
}
-----------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------TeaMaker.java-----------------------------------------------------------------------
package com.javarush.task.task15.task1530;
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("Заливаем кипятком");
}
}
-----------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------LatteMaker.java---------------------------------------------------------------------
package com.javarush.task.task15.task1530;
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("Заливаем молоком с пенкой");
}
}
-----------------------------------------------------------------------------------------------------------------------------------
/*
Template pattern
1. В отдельном файле создать класс DrinkMaker с тремя абстрактными методами:
— void getRightCup() — выбрать подходящую чашку
— void putIngredient() — положить ингредиенты
— void pour() — залить жидкостью
2. В классе DrinkMaker создать и реализовать метод void makeDrink(), который готовит напиток в такой последовательности: выбирает чашку, кладет ингредиенты, заливает жидкостью.
3. В отдельных файлах создать классы LatteMaker и TeaMaker, которые наследуются от DrinkMaker.
4. Распредели следующие фразы между всеми методами в классах LatteMaker и TeaMaker, различные фразы для различных методов.
5. Каждый метод должен выводить в консоль свою фразу не пересекаясь с другими методами.
6. Фразы:
«Заливаем кипятком»
«Берем чашку для латте»
«Насыпаем чай»
«Берем чашку для чая»
«Заливаем молоком с пенкой»
«Делаем кофе«
Требования:
1. Класс DrinkMaker должен быть создан в отдельном файле и быть абстрактным.
2. В классе DrinkMaker должны содержаться объявления трех абстрактных методов getRightCup, putIngredient и pour.
3. В классе DrinkMaker должен быть реализован метод makeDrink который будет вызывать абстрактные методы этого класса в последовательности заданной условием.
4. Класс LatteMaker должен быть создан в отдельном файле и быть потомком класса DrinkMaker.
5. Класс TeaMaker должен быть создан в отдельном файле и быть потомком класса DrinkMaker.
6. Метод getRightCup в классе LatteMaker должен выводить на экран фразу "Берем чашку для латте".
7. Метод putIngredient в классе LatteMaker должен выводить на экран фразу "Делаем кофе".
8. Метод pour в классе LatteMaker должен выводить на экран фразу "Заливаем молоком с пенкой".
9. Метод getRightCup в классе TeaMaker должен выводить на экран фразу "Берем чашку для чая".
10. Метод putIngredient в классе TeaMaker должен выводить на экран фразу "Насыпаем чай".
11. Метод pour в классе TeaMaker должен выводить на экран фразу "Заливаем кипятком".
package com.javarush.task.task15.task1530;
*
Template pattern
*
public class Solution {
public static void main(String[] args) {
}
}
*/