<div dir="ltr"><div>Non ho capito bene, comunque ti posso dire che l'ereditarietà multipla in Java non c'è. <br></div><div><br></div><div>Una classe può estendere solo una classe, i.e. <br><br>public class Parent  { }<br></div><div><br>public class Child extends Parent { }<br><br></div><div>In compenso, la stessa classe può implementare più di un interfaccia, e la stessa interfaccia può venire implementata da più di una classe:<br></div><div></div><div><br></div><div>interface Person {</div><div>// medoto1</div><div>// medoto2</div><div>}</div><div><br></div><div>interface Human {</div><div>// metodo3</div><div>// metodo4<br>}<br></div><div><br></div><div>public class Parent implements Person, Human { <br></div><div>// def. metodo1<br></div><div>// def, metodo2<br></div><div>}</div><div><br></div><div><br></div><div> In ogni caso:<br>- devi dichiararle in quanto "interface"<br></div><div>- un'interfaccia non può essere privata<br><br></div><div>Spero di esserti stato d'aiuto. <br></div><div><br> </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno dom 4 ago 2019 alle ore 20:13 Samuele via montellug <<a href="mailto:montellug@montellug.it">montellug@montellug.it</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Dopo un pomeriggio di porchi, avevo definito un oggetto di tipo <br>
BlockingQueue (che è una interfaccia)<br>
<br>
private BlockingQueue<TMessage> MessageQueue<br>
<br>
Un oggetto MessageQueue che contiene oggetti TMessage.<br>
<br>
Veniva creato così:<br>
     MessageQueue = new |LinkedBlockingQueue|();<br>
<br>
Fin qui tutto bene, se non che LinkedBlockingQueue non aveva un metodo <br>
che mi serviva (rimanere in attesa finché non veniva aggiunto un oggetto <br>
nella lista); una variante del metodo peek() ma senza che rimuova l'oggetto.<br>
Al che mi sono ereditato la classe LinkedBlockingQueue:<br>
<br>
public class TMessageQueue extends LinkedBlockingQueue<br>
{<br>
   public void WaitMessage()<br>
   {<br>
     //Fa cose<br>
   }<br>
}<br>
<br>
Ma  MessageQueue.WaitMessage(); non viene visto in quanto MessageQueue è <br>
di tipo BlockingQueue che non ha quel metodo.<br>
Non posso dichiarare MessageQueue di tipo TMessageQueue perché in questo <br>
modo non mi trova i vari metodi di BlockingQueue.<br>
<br>
Mi verrebbe da dire che devo fare una interfaccia che estende <br>
BlockingQueue e poi una classe derivante da LinkedBokcingQueue che la <br>
implementa, ma io con l'ereditarietà multipla e sti salti mortali in <br>
Java non ci ho mai avuto a che fare.<br>
<br>
Qualcuno mi sa dare una mano?<br>
<br>
Grassie<br>
_______________________________________________<br>
montellug mailing list<br>
<a href="mailto:montellug@montellug.it" target="_blank">montellug@montellug.it</a><br>
<a href="http://mail.montellug.it/mailman/listinfo/montellug" rel="noreferrer" target="_blank">http://mail.montellug.it/mailman/listinfo/montellug</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature">Edoardo Prestianni</div>