java----封装思想

通过封装相同的代码,给外部提供一个接口,外部通过实现这个接口,写不同的业务逻辑

abstract class Test{
    //业务逻辑代码
    public void test3(){
        //一下代码都是重复的
        int a = 1;
        if(true){
            System.out.println("相同代码");
        }
        if (true){
            System.out.println("相同代码");
        }
        //核心的代码
        if (true){
            print(a);
        }
    }
    public abstract void print(int a);
}


public class UserDao extends Test{
    public static void main(String[] args) {
        UserDao userDao = new UserDao();
        userDao.test3();
    }
    public void print(int a) {  //实现接口(重写)
        System.out.println("业务逻辑代码");
        System.out.println(a);
    }
}

  

或者使用传递一个类,调用类中特定的方法(本质上调用方法)

abstract class Test{
    //业务逻辑代码
    public void test3(Function function){
        //一下代码都是重复的
        int a = 1;
        if(true){
            System.out.println("相同代码");
        }
        if (true){
            System.out.println("相同代码");
        }
        //核心的代码
        if (true){
            function.print(a);
        }
    }
}

public class UserDao extends Test{
    public static void main(String[] args) {
        UserDao userDao = new UserDao();
        userDao.test3(new Function());
    }
}
class Function{
    public void print(int a){
        System.out.println(a);
    }
}

  

原文地址:https://www.cnblogs.com/yanxiaoge/p/11176304.html