java模板方法模式
来源:互联网 发布:江苏公务员待遇知乎 编辑:程序博客网 时间:2024/06/13 22:41
/**
* 模版方法模式
*/
public class TemplateDemo {
public static void main(String[] args) {
Teacher1 javaTeacher = new JavaTeacher("张三");
javaTeacher.work();
Teacher1 oracleTeacher = new OracleTeacher("李四");
oracleTeacher.work();
}
}
//教师类
abstract class Teacher1{
private String name;//姓名
public Teacher1(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//模版方法
//第1,3步骤是固定的,第2步骤由具体的子类实现
public void work(){
//1.备课
prepared();
//2.授课
teaching();
//3.下课
end();
}
public void prepared(){
System.out.println(name + "备课");
}
public abstract void teaching();/**把授课的方法定义为抽象方法,让子类去实现**/
public void end(){
System.out.println(name + "下课");
}
}
class JavaTeacher extends Teacher1{
public JavaTeacher(String name) {
super(name);
}
public void teaching() {
System.out.println("打开eclipse...");
System.out.println("编写Java代码...");
System.out.println("运行Java代码...");
}
}
class OracleTeacher extends Teacher1{
public OracleTeacher(String name) {
super(name);
}
public void teaching() {
System.out.println("打开数据库工具...");
System.out.println("编写SQL语句...");
System.out.println("运行SQL语句...");
}
}
* 模版方法模式
*/
public class TemplateDemo {
public static void main(String[] args) {
Teacher1 javaTeacher = new JavaTeacher("张三");
javaTeacher.work();
Teacher1 oracleTeacher = new OracleTeacher("李四");
oracleTeacher.work();
}
}
//教师类
abstract class Teacher1{
private String name;//姓名
public Teacher1(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//模版方法
//第1,3步骤是固定的,第2步骤由具体的子类实现
public void work(){
//1.备课
prepared();
//2.授课
teaching();
//3.下课
end();
}
public void prepared(){
System.out.println(name + "备课");
}
public abstract void teaching();/**把授课的方法定义为抽象方法,让子类去实现**/
public void end(){
System.out.println(name + "下课");
}
}
class JavaTeacher extends Teacher1{
public JavaTeacher(String name) {
super(name);
}
public void teaching() {
System.out.println("打开eclipse...");
System.out.println("编写Java代码...");
System.out.println("运行Java代码...");
}
}
class OracleTeacher extends Teacher1{
public OracleTeacher(String name) {
super(name);
}
public void teaching() {
System.out.println("打开数据库工具...");
System.out.println("编写SQL语句...");
System.out.println("运行SQL语句...");
}
}
0 0
- java模板方法模式
- 模板方法模式 Java
- JAVA 模板方法模式
- Java 模板方法模式
- java--模板方法模式
- java模板方法模式
- java模板方法模式
- Java 模板方法模式
- java模板方法模式
- java模板方法模式
- java模板方法模式
- Java模板方法模式
- java设计模式---模板方法
- java学习--模板方法模式
- java模板方法设计模式
- Java 模板方法设计模式
- java中模板方法模式
- java设计模式-模板方法
- CALayer简单讲解
- codeforces 785 D Anton and School
- frame 和window的区别
- ionic 2
- EL表达式获取项目根路径
- java模板方法模式
- AJAX->跨域->JSON->JSONP->解决跨域请求
- leetcode 415. Add Strings
- 2016年总结
- 一维数组
- JSON
- 使用idea自定义代码段
- JDK中的proxy动态代理原理剖析
- 101. Symmetric Tree