asp网站开发教程,wordpress线上安装,义乌微信网站建设费用,上海浦东做网站的公司引言
模版方法是一种行为设计模式, 它在基类中定义了一个算法的框架, 允许子类在不修改结构的情况下重写算法的特定步骤。 Java语言
使用示例: 模版方法模式在 Java 框架中很常见。 开发者通常使用它来向框架用户提供通过继承实现的、 对标准功能进行扩展的简单方式。
这…引言
模版方法是一种行为设计模式,它在基类中定义了一个算法的框架,允许子类在不修改结构的情况下重写算法的特定步骤。 Java语言
使用示例:模版方法模式在 Java 框架中很常见。开发者通常使用它来向框架用户提供通过继承实现的、对标准功能进行扩展的简单方式。
这里是一些核心 Java 程序库中模版方法的示例:
•java.io. Inputstream、java.io.writer 、java.io.Dutputstream、java. io .Reader的所有非抽象方法。 •java.util. Abstractlist、 java.util.Abstractset 和java.util.AbstractMap 的所有非抽象方法。 •javax.servlet.http.Httpservlet,所有默认发送 HTTP 405“方法不允许”错误响应的 doxxx()方法。你可随时对其进行重写。
识别方法:模版方法可以通过行为方法来识别,该方法已有一个在基类中定义的“默认”行为。 重写算法的标准步骤
在本例中,模版方法模式定义了一个可与社交网络协作的算法。与特定社交网络相匹配的子类将根据社交网络所提供的 API 来实现这些步骤。
networks
networks/Network.java:基础社交网络类
/*** Base class of social network.*/
public abstract class Network {String userName;String password;Network() {}/*** Publish the data to whatever network.*/public boolean post(String message) {// Authenticate before posting. Every network uses a different// authentication method.if (logIn(this.userName, this.password)) {// Send the post data.boolean result = sendData(message.getBytes());logOut();return result;}return false;}abstract boolean logIn(String userName, String password);abstract boolean sendData(byte[] data);abstract void logOut();
}
networks/Facebook.java:具体社交网络
/*** Class of social network*/
public class Facebook extends Network {public Facebook(String userName, String password) {this.userName = userName;this.password = password;}public boolean logIn(String userName, String password) {System.out.println("\nC