Newer
Older
Sample01 / src / designpattern / TemplateMethodTest.java
@Motoki Miura Motoki Miura on 18 Oct 2022 913 bytes add final to abstract class
package designpattern;

public class TemplateMethodTest {
    public static void main(String[] args) {
       Life mylife = new MyLife();
       mylife.live();
    }
}
interface AltLife {
    void born();
}
abstract class Life {
    final public void save(){
        // byte[] data = getData();
        // encrypt(data);
        // fileSave(data);
    }
    final public void live(){
        born(); study(); work(); die();
    }
    abstract void born();
    abstract void study();
    abstract void work();
    abstract void die();
}
class MyLife extends Life {
    @Override
    void born() {
        System.out.println("xxで生まれる");
    }

    @Override
    void study() {
        System.out.println("xxで勉強する");
    }

    @Override
    void work() {
        System.out.println("xxで働く");
    }

    @Override
    void die() {
        System.out.println("xx歳でなくなる");
    }
}