{
java.sql.Connection openDB(String url,String user,String password);
void close();
}
public class Mysql implements DataBase
{
private String url=”jdbc:mysql:localhost:3306/test”;
private String user=”root”;
private String password=””;
private Connection conn;
public Connection openDB(url,user,password)
{
//连接数据库的代码
}
public void close()
{
//关闭数据库
}
}
类mysql实现了DataBase接口,下面还有实现了DataBase接口的oraclesql等类;
这些类都归于DataBase接口了,
如何在应用程序中使用呢???
我们要定义DataBase对象 myDB,通过myDB来操纵数据库,可以不要分清是哪个类了。
另外的问题:Java中不许我们实例化接口,如DataBase myDB=new DataBase();
我们只能myDB=new Mysql()或者myDB=new Oracle()。这样我们还必须指定实例化哪个对象,好像前面的努力都白费了啊!!那怎么办呢,我们需要一个工厂:
public class DBFactory
{
public static DataBase Connection getConn()
{
Return(new Mysql());
}
}
实例化的代码变成:myDB=DBFactory.getConn();
整个过程中接口不负责任何具体操作,其他的程序要连接数据库的话,只需要构造一个DB对象就OK,而不管工厂类如何变化。这就是接口的意义----抽象
Java接口设计与应用
170万+

被折叠的 条评论
为什么被折叠?



