Java中多态的可拓展性(2)

public void add(User user)
    {
        1,JDBC连接数据库。;
        2,使用sql添加语句添加数据。;
        3,关闭连接。
    }
    public void delete(User user)
    {
        1,JDBC连接数据库。;
        2,使用sql添加语句删除数据。;
        3,关闭连接。
    }
}

class UserInfoByHibernate implements UserInfoDao
{
    public void add(User user)
    {
        1,Hibernate连接数据库。;
        2,使用sql添加语句添加数据。;
        3,关闭连接。
    }
    public void delete(User user)
    {
        1,Hibernate连接数据库。;
        2,使用sql添加语句删除数据。;
        3,关闭连接。
    }
}

class  DBOperate
{
    public static void main(String[] args)
    {
        //UserInfoByJDBC ui = new UserInfoByJDBC();
//        UserInfoByHibernate ui = new UserInfoByHibernate();
        UserInfoDao ui = new UserInfoByHibernate();
        ui.add(user);
        ui.delete(user);
    }
}

总结:

1.这两个例子都使用了接口来抽象出一些重复的操作,为了让不同的模块能直接快捷地使用这些操作,直接使用多态的向上转型(看我之前的博客),能后用父类引用去调用,反正之后无论是技术更新而有了新的模块或者更换已有模块,我们都可以使用父类的引用去直接调用它们共同的操作!

2.不一定用接口,也可以使用抽象类,但是,使用接口,可拓展性更高,以后有更新,可以直接改动接口,不用去改动抽象类,其次,使用接口,能够被多继承!这也是方便的地方。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6670c279f1bfb99ef8666e17ef8f4e73.html