用一个外观的类包装具体功能类,客户端通过调用外观类来调用具体功能,使客户端和具体功能减少耦合
第一步:写几个功能类
public class OpenDool {
public void on() {
System.out.println("开车门");
}
public void off() {
System.out.println("关车门");
}
}
public class FaDongJi {
public void on() {
System.out.println("点火启动");
}
public void off() {
System.out.println("停车熄火");
}
}
public class Drive {
public void on() {
System.out.println("踩油门加速");
}
public void off() {
System.out.println("踩刹车减速");
}
}
第二步:综合实现类写执行顺序
public class User {
private OpenDool openDool=new OpenDool();
private FaDongJi faDongJi=new FaDongJi();
private Drive drive=new Drive();
public User() {}
public User(OpenDool openDool, FaDongJi faDongJi, Drive drive) {
this.openDool = openDool;
this.faDongJi = faDongJi;
this.drive = drive;
}
public void start() {
openDool.on();
openDool.off();
faDongJi.on();
drive.on();
}
public void end() {
drive.off();
faDongJi.off();
openDool.on();
openDool.off();
}
}
第三步:main测试
public static void main(String[] args) {
User user = new User();
user.start();
user.end();
}