[MontelLUG] Rogna con Java, ereditarietà (multipla?) ed interfacce (per guru)

Edoardo Prestianni edoardo.prestianni a gmail.com
Lun 5 Ago 2019 09:20:07 CEST


Non ho capito bene, comunque ti posso dire che l'ereditarietà multipla in
Java non c'è.

Una classe può estendere solo una classe, i.e.

public class Parent  { }

public class Child extends Parent { }

In compenso, la stessa classe può implementare più di un interfaccia, e la
stessa interfaccia può venire implementata da più di una classe:

interface Person {
// medoto1
// medoto2
}

interface Human {
// metodo3
// metodo4
}

public class Parent implements Person, Human {
// def. metodo1
// def, metodo2
}


In ogni caso:
- devi dichiararle in quanto "interface"
- un'interfaccia non può essere privata

Spero di esserti stato d'aiuto.


Il giorno dom 4 ago 2019 alle ore 20:13 Samuele via montellug <
montellug a montellug.it> ha scritto:

> Dopo un pomeriggio di porchi, avevo definito un oggetto di tipo
> BlockingQueue (che è una interfaccia)
>
> private BlockingQueue<TMessage> MessageQueue
>
> Un oggetto MessageQueue che contiene oggetti TMessage.
>
> Veniva creato così:
>      MessageQueue = new |LinkedBlockingQueue|();
>
> Fin qui tutto bene, se non che LinkedBlockingQueue non aveva un metodo
> che mi serviva (rimanere in attesa finché non veniva aggiunto un oggetto
> nella lista); una variante del metodo peek() ma senza che rimuova
> l'oggetto.
> Al che mi sono ereditato la classe LinkedBlockingQueue:
>
> public class TMessageQueue extends LinkedBlockingQueue
> {
>    public void WaitMessage()
>    {
>      //Fa cose
>    }
> }
>
> Ma  MessageQueue.WaitMessage(); non viene visto in quanto MessageQueue è
> di tipo BlockingQueue che non ha quel metodo.
> Non posso dichiarare MessageQueue di tipo TMessageQueue perché in questo
> modo non mi trova i vari metodi di BlockingQueue.
>
> Mi verrebbe da dire che devo fare una interfaccia che estende
> BlockingQueue e poi una classe derivante da LinkedBokcingQueue che la
> implementa, ma io con l'ereditarietà multipla e sti salti mortali in
> Java non ci ho mai avuto a che fare.
>
> Qualcuno mi sa dare una mano?
>
> Grassie
> _______________________________________________
> montellug mailing list
> montellug a montellug.it
> http://mail.montellug.it/mailman/listinfo/montellug
>


-- 
Edoardo Prestianni
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://mail.montellug.it/pipermail/montellug/attachments/20190805/6406e5f1/attachment.html>


Maggiori informazioni sulla lista montellug