1 介绍
一个抽象类公开定义了执行它的方法的方式/模板。和外观模式一样,非常简单,就是一个典型的依赖倒转的面向接口编程的设计模式。
2 例子
2.1 手机接口(模板)
interface Phone{
//打电话
void call();
//发短信
void sendMessage();
//拍照
void photograph();
}
2.2 具体手机实现
//小米手机
class XiaomiPhone implements Phone{
@Override
public void call() {
System.out.println("小米手机打电话");
}
@Override
public void sendMessage() {
System.out.println("小米手机发短信");
}
@Override
public void photograph() {
System.out.println("小米手机拍照");
}
}
//苹果手机
class ApplePhone implements Phone{
@Override
public void call() {
System.out.println("苹果手机打电话");
}
@Override
public void sendMessage() {
System.out.println("苹果手机发短信");
}
@Override
public void photograph() {
System.out.println("苹果手机拍照");
}
}
2.3 测试主类
public class Main {
public static void main(String[] args) {
//创建两个手机对象
XiaomiPhone xiaomiPhone=new XiaomiPhone();
ApplePhone applePhone=new ApplePhone();
//使用手机
xiaomiPhone.call();
xiaomiPhone.photograph();
xiaomiPhone.sendMessage();
applePhone.call();
applePhone.sendMessage();
applePhone.photograph();
}
}
3 总结
模板模式很好的体现了面向接口编程。