però rimango con il dubbio perchè nel primo esempio fatto faccio

a=(b)b quindi in teoria dico ad a che riceve una memoria di tipo b come fa poi a ad andare a chiamare funzioni classe a