我想问一下抽象出来的父类该怎么写
===============================
package News.DAO;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import News.DTO.NewsAdminDTO;
import News.util.MySqlConnection;
import News.util.SQLServerConnection;
public class NewsAdminDAO
{
//要被放入基类的字段
private Connection conn=null;
private Statement stmt = null;
private ResultSet rs = null;
private MySqlConnection mc= null;
private String runinfo= " ";
private String dbFlag= " ";
//要被放入基类的方法
public void useMySQL()
{
dbFlag= "MySQL ";
mc=new MySqlConnection();
conn=mc.openConnection();
}
public void useSQLServer()
{
dbFlag= "SQLServer ";
conn=SQLServerConnection.getConn();
}
public void closeConnection()
{
try
{
if(rs!=null)rs.close();
if(stmt!=null)stmt.close();
}catch(Exception e)
{e.printStackTrace();}
finally
{
if(mc!=null)
{
mc.closeConnection();
System.out.println( "close MySQL Connection in NewsAdminDAO_ "+runinfo);
}
else
{
SQLServerConnection.dbclose(conn);
System.out.println( "close SQLServer Connection in NewsAdminDAO_ "+runinfo);
}
}
}
//该类特有方法
public boolean checkAdmin(String yhm)
{
String sql= "............................... ";
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
public boolean isAdmin(String yhm,String yhmm)
{
//省略
}
public int addAdmin(NewsAdminDTO dto)
{
//省略
}
}
我想把 "要被放入父类的方法和字段 "提取出来
public class DAObase()
{
//字段
//方法
}
然后,子类继承
public class NewsAdminDAO extends DAObase
{
//这里对父类的属性 conn,stmt,rs 等怎么使用呢???
直接使用,但是子类里没有声明,也不想在子类里声明,要是这样就没有抽象的必要了
//子类用实例化它的父类么??
//每个子类对象使用的父类也都是一个对象副本吧?
}
=========== 想实现的效果 ====================
public class NewsAdminDAO extends DAObase
{
public boolean checkAdmin(String yhm)
{
String sql= "............................... ";
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
public boolean isAdmin(String yhm,String yhmm)
{
//省略
}
public int addAdmin(NewsAdminDTO dto)
{
//省略
}
}
大体这样的结构.
------解决方案--------------------
直接另写一个基类
然后把你要分离的方法和属性放入基类
然后子类继承就可以了啊
至于你说的子类怎么使用基类的属性
直接用子类的对象调用就可以了
------解决方案--------------------
子类继承基类的时候,基类所有的属性子类都继承过来了