Definition: An abstract class publicly defines the way/template to execute its methods. Its subclasses can rewrite the method implementation as needed, but the call will be made in the way defined in the abstract class
Features:
1. Encapsulate the constant part and extend the variable part.
2. Extract public code to facilitate maintenance.
3. Behavior is controlled by the parent class and implemented by the subclass.
Enterprise-level development and applications in common frameworks: Implementation of hibernate in spring (open transactions, open sessions, close sessions)
Examples: The following is an example of playing games, all games are played There are two operations every time, opening the game and closing the game, but the way of playing in the middle is different. Let’s look at the actual example below.
public class Demo { public static void main(String[] args) { Game g1 = new LOL(); Game g2 = new CF(); g1.playGame(); g2.playGame(); } } abstract class Game{ protected void init(){ System.out.println("初始化游戏并登陆游戏。。。"); } public abstract void play(); protected void end(){ System.out.println("结束游戏并退出登录。。。"); } public void playGame(){ init(); play(); end(); } } class LOL extends Game{ public void play() { System.out.println("玩英雄联盟游戏"); } } class CF extends Game{ public void play() { System.out.println("玩创越火线游戏"); } }
The template pattern is actually the application of abstract classes. This pattern is relatively simple and is used more in actual development.
The above is the entire content of this article. I hope it will be helpful to everyone's learning. I also hope that everyone will support the PHP Chinese website.
For more articles related to easily mastering Java template mode, please pay attention to the PHP Chinese website!