//定義泛型抽象類
public abstract class TObjectFactory<T> {
protected abstract T getTable();
}
//繼承使用
public class TableFactory<Table,Value> extends TObjectFactory<Table>{
ITableDataBase<Value> p_table_t;
public TableFactory(ITableDataBase<Value> p_table_t) {
//構造傳Table類型實例
this.p_table_t = (ITableDataBase<Value>) p_table_t;
}
@Override
protected Table getTable() {
// 類型轉換
return (Table) p_table_t;
}
}
public class Field{}
public abstract class ITableDataBase<T> {}
public class TableLog extends ITableDataBase<Field>{}
//定義
private TableFactory<TableLog, Field> p_table_log;
// 獲取表類對象
TableFactory<TableLog, Field> tableLog() {
ITableDataBase<Field> p_table_t = new TableLog();
p_table_log=new TableFactory<TableLog, Field>(p_table_t);//創建實例
//p_table_log.getTable();//使用;
return p_table_log;
}