zoukankan      html  css  js  c++  java
  • TemplateMethod(模块方法模式)

    /**
     * 模块模式
     * @author TMAC-J
     * 将一个完整的算法分离,分成不同的模块
     * 用于有很多步骤的时候,可能以后这些步骤还会增加,把这些步骤分离
     * 将有共性的部分放在抽象类中
     * 避免代码重复
     * 有利于算法扩展
     * 假设这个算法是人,人具有的共性是早上起来穿衣服,吃饭,工作
     */
    public class TemplateMethod {
        
        abstract class Person{
            
            abstract void dressup();
            
            abstract void eat();
    
            abstract void work();
            
             public void operate(){  
                 dressup();  
                 eat();  
                 work();  
             } 
            
        }
        
        public class Teacher extends Person{
    
            @Override
            void dressup() {
                System.out.println("穿衣");
            }
    
            @Override
            void eat() {
                System.out.println("吃饭");
            }
    
            @Override
            void work() {
                System.out.println("工作");
            }
            //老师独有的备课环节,扩展了这个步骤
            public void prepare(){
                System.out.println("备课");
            }
            
        }
        
        public class Student extends Person{
            
            @Override
            void dressup() {
                System.out.println("穿衣");
            }
            
            @Override
            void eat() {
                System.out.println("吃饭");
            }
            
            @Override
            void work() {
                System.out.println("工作");
            }
            
        }
        
        public void test(){
            Person teather = new Teacher();
            teather.operate();
            Person student = new Student();
            student.operate();
        }
        
    }
  • 相关阅读:
    监听器
    事务
    DBUtils
    EL技术,JSTL技术与javaEE开发模式
    JSP技术
    Cookie and Session
    HttpServletRequest
    Servlet
    Http与Tomcat服务器的简单配置
    XML
  • 原文地址:https://www.cnblogs.com/yzjT-mac/p/6230407.html
Copyright © 2011-2022 走看看