Skip to content

Commit 3434d88

Browse files
authored
she brought man child, who was2rule all nations
And she brought forth a man child, who was to rule all nations with a rod of iron: and her child was caught up unto God, and to his throne. (Revelation 12:5)
1 parent 4900e40 commit 3434d88

1 file changed

Lines changed: 39 additions & 0 deletions

File tree

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
2+
//And she brought forth a man child, who was to rule all nations with a rod of iron: and her child was caught up unto God, and to his throne. (Revelation 12:5)
3+
4+
package com.javarush.task.task39.task3907.workers;
5+
6+
public interface Sleeper {
7+
8+
void sleep();
9+
}
10+
11+
/*
12+
ISP
13+
14+
Из-за того что интерфейс Worker содержит слишком много разноплановых методов, классам которые хотят поддерживать только часть функциональности, необходимо реализовывать и те методы, которые им на самом деле не нужны.
15+
16+
Было бы намного удобнее иметь несколько интерфейсов, каждый из которых описывал бы отдельную функциональность.
17+
18+
19+
20+
Создай интерфейсы Sleeper и Eater в пакете workers, подумай как провести корректный рефакторинг и внеси необходимые изменения.
21+
22+
23+
24+
25+
26+
Требования:
27+
28+
1. В интерфейсе Sleeper должен быть объявлен только метод sleep.
29+
30+
2. В интерфейсе Eater должен быть объявлен только метод eat.
31+
32+
3. В интерфейсе Worker должен остаться только метод work.
33+
34+
4. Класс NormalWorker должен поддерживать интерфейсы Worker, Sleeper, Eater.
35+
36+
5. Класс LazyPerson должен поддерживать только интерфейсы Sleeper, Eater.
37+
38+
6. Класс Robot должен поддерживать только интерфейс Worker.
39+
*/

0 commit comments

Comments
 (0)