Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
59 lines (48 loc) · 1.16 KB

File metadata and controls

59 lines (48 loc) · 1.16 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
interface CnPluginInterface {
public void chargeWith2Pins();
}
class CnPlugin implements CnPluginInterface {
public void chargeWith2Pins() {
System.out.println("charge with CnPlugin");
}
}
interface EnPluginInterface {
public void chargeWith3Pins();
}
class EnPlugin implements EnPluginInterface {
public void chargeWith3Pins() {
System.out.println("charge with EnPlugin");
}
}
class PluginAdapter implements CnPluginInterface {
private EnPluginInterface enPlugin;
public PluginAdapter(EnPluginInterface enPlugin) {
this.enPlugin = enPlugin;
}
@Override
public void chargeWith2Pins() {
enPlugin.chargeWith3Pins();
}
}
class Home {
private CnPluginInterface cnPlugin;
public Home() {}
public Home(CnPluginInterface cnPlugin) {
this.cnPlugin = cnPlugin;
}
public void setPlugin(CnPluginInterface cnPlugin) {
this.cnPlugin = cnPlugin;
}
public void charge() {
cnPlugin.chargeWith2Pins();
}
}
public class Adapter {
public static void main(String[] args) {
EnPluginInterface enPlugin = new EnPlugin();
Home home = new Home();
PluginAdapter pluginAdapter = new PluginAdapter(enPlugin);
home.setPlugin(pluginAdapter);
home.charge();
}
}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.