Created
August 20, 2020 05:45
-
-
Save kkdeok/d0d35315a62252f73a1a95570ae762a9 to your computer and use it in GitHub Desktop.
Template Method Pattern
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public abstract class People { | |
public void printDailyRoutine() { | |
wakeUp(); | |
work(); | |
exercise(); | |
} | |
public abstract void wakeUp(); | |
public abstract void work(); | |
public abstract void exercise(); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Me extends People { | |
@Override | |
public void wakeUp() { | |
System.out.println("wake up at 07:00 am") | |
} | |
@Override | |
public void work() { | |
System.out.println("working as a software engineer") | |
} | |
@Override | |
public void exercise() { | |
System.out.println("bulk up") | |
} | |
} | |
public class You extends People { | |
@Override | |
public void wakeUp() { | |
System.out.println("wake up at 09:00 am") | |
} | |
@Override public void work() { | |
System.out.println("working as a coffeeshop manager") | |
} | |
@Override | |
public void exercise() { | |
System.out.println("running") | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static void main(String[] args) { | |
People someone = args[0].equals("me") ? new Me() : new You(); | |
me.printDailyRoutine(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment