-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
108 lines (84 loc) · 3.09 KB
/
Solution.java
File metadata and controls
108 lines (84 loc) · 3.09 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
//Yes, it has been their good pleasure, and they are their debtors. For if the Gentiles have been made partakers
//of their spiritual things, they owe it to them also to serve them in fleshly things. (Romans 15:27)
package com.javarush.task.task19.task1901;
/*
TableAdapter
*/
public class Solution {
public static void main(String[] args) {
//это пример вывода
ATable aTable = new ATable() {
@Override
public String getCurrentUserName() {
return "Amigo";
}
@Override
public String getTableName() {
return "DashboardTable";
}
};
BTable table = new TableAdapter(aTable);
System.out.println(table.getHeaderText());
}
public static class TableAdapter implements BTable {
private ATable aTable;
public TableAdapter(ATable aTable) {
this.aTable = aTable;
}
@Override
public String getHeaderText() {
return String.format("[%s] : %s", aTable.getCurrentUserName(), aTable.getTableName());
}
}
public interface ATable {
String getCurrentUserName();
String getTableName();
}
public interface BTable {
String getHeaderText();
}
}
/*
TableAdapter
Измени класс TableAdapter так, чтобы он адаптировал ATable к BTable.
Метод getHeaderText должен возвращать такую строку «[username] : tablename«.
Пример, «[Amigo] : DashboardTable«.
Требования:
1. Класс Solution должен содержать public static интерфейс ATable.
2. Класс Solution должен содержать public static интерфейс BTable.
3. Класс Solution должен содержать public static класс TableAdapter.
4. Класс TableAdapter должен реализовывать интерфейс BTable.
5. Класс TableAdapter должен содержать приватное поле aTable типа ATable.
6. Класс TableAdapter должен содержать конструктор с параметром ATable.
7. Класс TableAdapter должен переопределять метод getHeaderText согласно заданию.
package com.javarush.task.task19.task1901;
*
TableAdapter
*
public class Solution {
public static void main(String[] args) {
//это пример вывода
ATable aTable = new ATable() {
@Override
public String getCurrentUserName() {
return "Amigo";
}
@Override
public String getTableName() {
return "DashboardTable";
}
};
BTable table = new TableAdapter(aTable);
System.out.println(table.getHeaderText());
}
public static class TableAdapter {
}
public interface ATable {
String getCurrentUserName();
String getTableName();
}
public interface BTable {
String getHeaderText();
}
}
*/