Easily master Java template patterns
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Field mapping processing in system docking often encounters a difficult problem when performing system docking: how to effectively map the interface fields of system A...

When using MyBatis-Plus or other ORM frameworks for database operations, it is often necessary to construct query conditions based on the attribute name of the entity class. If you manually every time...

Troubleshooting and solutions to the company's security software that causes some applications to not function properly. Many companies will deploy security software in order to ensure internal network security. ...

Discussing the hierarchical architecture in back-end development. In back-end development, hierarchical architecture is a common design pattern, usually including controller, service and dao three layers...

Exploring the application of ultimate consistency in distributed systems Distributed transaction processing has always been a problem in distributed system architecture. To solve the problem...

Conversion of Java Objects and Arrays: In-depth discussion of the risks and correct methods of cast type conversion Many Java beginners will encounter the conversion of an object into an array...

The browser's unresponsive method after the WebSocket server returns 401. When using Netty to develop a WebSocket server, you often encounter the need to verify the token. �...

How to use OAuth2.0's access_token to achieve control of interface access permissions? In the application of OAuth2.0, how to ensure that the...
