Originariamente inviato da Tobler
se invece vado con

oggetto(a,b)

ne avrò un altro con metodi/funzioni diverse.
Quello che ti serve è una factory, ovvero istanziare l'oggetto non tramite new ma tramite un'altra funzione (membro di una classe che si chiama factory, fabbrica) che restituisca l'oggetto della classe appropriata. Questo perché new restituisce sempre un'istanza della classe specificata, mentre a te ne servono due diverse, in quanto i metodi come hai detto dovranno essere diversi...