Ciao a tutti.
devo sviluppare una classe che utilizzi una lista concatenata a puntatori espliciti.
Vi espongo il mio problema :
Ho una classe "ContenitoreDatiAstratto" che implementa un'interfaccia "ContenitoreDati" ; questa interfaccia estende Iterable
codice:package poo.data; public interface ContenitoreDati<E> extends Iterable<E> { void aggiungi(E elem); boolean aggiungi(ContenitoreDati<E> cd, Criterio<E> c); boolean aggiungi(ContenitoreDati<E> cd, Criterio<E> c, Funzione<E> f); boolean rimuovi(E elem); boolean rimuovi(Criterio<E> c); ContenitoreDati<E> estrai(Criterio<E> c); ContenitoreDati<E> estraiETrasforma(Criterio<E> c, Funzione<E> f); void applica(Funzione<E> f); void applica(Funzione<E> f, Criterio<E> c); int size(); }Mi si chiede di scrivere una classe concreta di nome "ContenitoreDatiLC" erede di "ContenitoreDatiAstratto" che utilizza una lista concatenata a puntatori espliciti.codice:public abstract class ContenitoreDatiAstratto<E> implements ContenitoreDati<E>{ .... ..... }
Allora ; io ho fatto in questo modo :
codice:public class ContenitoreDatiLC<E> extends ContenitoreDatiAstratto<E> { class ListaConcatenata<E> implements Iterable<E>{ private class Nodo<T>{ T info; Nodo<T> next; Nodo(T info){ this.info=info; } } private int size; private Nodo<E> testa; private Nodo<E> coda; ..... ....... ........ }
non potrei scrivere pure cosi ?
codice:public class ListaConcatenata<E> extends ContenitoreDatiAstratto<E>
Cioè ; dato che ListaConcatenata deve implementare Iterable , potrebbe essere corretto scrivere come sopra , dato che ContenitoreDatiAstratto implementa un'interfaccia che estende Iterable?
Spero di essere stato chiaro.
Aiutatemi
Ciao

Rispondi quotando