Stai sbagliando approccio... cane e gatto ereditano da animali... quindi a seconda del caso devi istanziare l'una delle due e accedi a metodi e proprietà della classe animale.
Se poi il tuo è un problema diverso... ossia non sai quale delle due istanziare e (semplificando) ti serve una classe che decida cosa fare allora dai un'occhiata ai vari "factory pattern".