Connection.java
package example3;
public interface Connection {
public void connect();
}
OracleConnection.java
package example3;
public class OracleConnection implements Connection {
@Override
public void connect() {
System.out.println("Oracle数据库连接中...");
}
}
MySQLConnection.java
package example3;
public class MySQLConnection implements Connection {
@Override
public void connect() {
System.out.println("MySQL数据库连接中...");
}
}
Statement.java
package example3;
public interface Statement {
public void executeStatement();
}
OracleStatement.java
package example3;
public class OracleStatement implements Statement {
@Override
public void executeStatement() {
System.out.println("Oracle执行...");
}
}
MySQLStatement.java
package example3;
public class MySQLStatement implements Statement {
@Override
public void executeStatement() {
System.out.println("MySQL执行...");
}
}
DBfactory.java
package example3;
public interface DBfactory {
public Connection createConnection();
public Statement createStatement();
}
OracleFactory.java
package example3;
public class OracleFactory implements DBfactory {
@Override
public Connection createConnection() {
return new OracleConnection();
}
@Override
public Statement createStatement() {
return new OracleStatement();
}
}
MySQLFactory.java
package example3;
public class MySQLFactory implements DBfactory {
@Override
public Connection createConnection() {
return new MySQLConnection();
}
@Override
public Statement createStatement() {
return new MySQLStatement();
}
}
Client.java
package example3;
public class Client {
public static void main(String[] args) {
new OracleFactory().createConnection().connect();
}
}