15.06.2013 Views

Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...

Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...

Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

f()<br />

A<br />

Carnielli Efrem: Programmazione a componenti<br />

A a<br />

Figura 7.22. ere<strong>di</strong>tarietà con un l<strong>in</strong>guaggio che non lo permette<br />

Sia g() del tipo:<br />

public public public f(){<br />

f(){<br />

a.f();<br />

a.f();<br />

}<br />

g()<br />

C<br />

Def<strong>in</strong>izione ed uso <strong>di</strong> classi, oggetti ed <strong>in</strong>terfacce<br />

Tramite l’attributo a posso accedere ai meto<strong>di</strong> della classe A anche se non è<br />

consentita l’ere<strong>di</strong>tarietà.<br />

Questa tecnica si chiama forward<strong>in</strong>g e per essere usata devo utilizzare la delegation.<br />

In particolare un forward<strong>in</strong>g method è un metodo nella wrapper class (nella classe<br />

<strong>in</strong>volucro, cioè quella contenitore), che <strong>in</strong>voca il corrispondente metodo nella<br />

classe contenuta e ne restituisce il risultato.<br />

7.8.2.1 Vantaggi e svantaggi<br />

Ognuno <strong>di</strong> questi due meto<strong>di</strong> ha logicamente dei vantaggi e dei svantaggi. Il<br />

185

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!