JAVA
java
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
/* Implementation of Strategy Design Pattern.
* The situation: visiting a foreign country
* as tourist, and trying to greet a stranger.
* One would try to use a different language,
* adapting to the location.
*/
public class HelloTourist {
public static void main(String[] args) {
/* greeting strategy is selected by
passing the right class to the greet method */
Tourist jackie = new Tourist("Jackie", "Sydney");
jackie.greet(new EnglishGreeting());
Tourist dieter = new Tourist("Dieter", "München");
dieter.greet(new GermanGreeting());
Tourist suresh = new Tourist("Suresh", "Marrakesh");
suresh.greet(new NonverbalGreeting());
}
}
/* Behavior that is implemented by strategies */
interface Greeting {
void sayHello();
}
class EnglishGreeting implements Greeting {
@Override
public void sayHello() {
System.out.println("Hey man, how are you?");
Enter to Rename, Shift+Enter to Preview
OUTPUT
Run