Если это единственная функциональность объекта DataObject, он действительно кажется чрезмерным, учитывая, что вы можете просто поместить все имена таблиц в список и выполнить цикл по нему:
List<String> tables = new List<String>{ "TabA","TabB","TabC"};
foreach( var tname in tables )
{
deleteTable(tname);
}
Я знаю, чтоГлядя на ваш код, есть также SQLQuery, к которому вам нужен доступ, но я бы переместил это и из AbstractDataObject.
после комментариев: хорошо, хорошо, тогда вот мое предложение:
public abstract class AbstractDataObject
{
private String tableName;
public AbstractDataObject(String tableName)
{
this.tableName = tableName;
}
public void delete()
{
SQLQuery("..." + tableName + "..." );
}
}
public class SellerDataObject extends AbstractDataObject
{
public DataObject(): super("Seller")
{
}
}