美文网首页
模板模式

模板模式

作者: 要学的东西太多了 | 来源:发表于2018-11-05 11:55 被阅读0次

    准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。模板模式是很常用的模式,用于继承的代码复用。

    示例如下:

    public class Template {
        public static void main(String[] a){
            Template template=new Template();
            Person 小张 = template.new Child("小张");
            小张.talk();
            Person 大明 = template.new Student("大明");
            大明.talk();
        }
    
        abstract class Person{
            protected String name;
    
            public Person(String name) {
                this.name = name;
            }
    
            public void talk(){
                System.out.println(getType()+"说话了");
            }
            abstract String getType();
        }
    
        class Child extends Person{
            public Child(String name) {
                super(name);
            }
    
            @Override
            String getType() {
                return "小孩"+name;
            }
        }
    
        class Student extends Person{
            public Student(String name) {
                super(name);
            }
    
            @Override
            String getType() {
                return "学生"+name;
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:模板模式

          本文链接:https://www.haomeiwen.com/subject/rfxsxqtx.html