Your class doesn't need to inherit from DBI, it just needs to return a database handle. I've written lots of wrappers that connect to some default database in some default way that goes something like:
package MyDBI;
use DBI;
sub connect {
...get args
my $dbh;
...do stuff
$dbh = DBI->connect(...);
...do more stuff
return $dbh;
}