Ciao,ragazzi ho un problema con la risoluzione di un appello di programmazione orientata agli oggetti......
Esercizio 1
Progettare una interfaccia Lista,iterabile e generica nel tipo T degli elementi, che si ispira a java.util.List e fornisce i seguenti metodi il cui significato e tipo di ritorno(ad eccezione del metodo sort assente in java.util.List) corrispondono agli omonimi metodi di java.util.List:add(T t),add(int index,T t),addAll(Lista l),clear(),contains(T t),equals(Object o),get(int index),
indexOf(T t),isEmpty(),iterator(),remove(T t),remove(int index),set(int index,T t),size(),toString(),void sort().Il metodo sort è pensato a ordinare il contenuto della lista per valori crescenti degli elementi.Si suppone che il tipo T degli elementi sia una classe munuta(almeno) dei metodi per l uguaglianza,il confronto e il toString().
Realizzare una classe Astratta ListaAstratta che implementa l interfaccia Lista e fornisce una prima concretizzazione per tutti quei metodi che sono implementabili.
Esercizio 2
Progettare e sviluppare una classe ListaConcatenata ,erede di ListaAstratta,che
implementa il concetto di lista a puntatori espliciti.Realizzare in veste ricorsiva il metodo Equals.
Esercizio 3
Progettare e sviluppare una classe ListaArray,erede di ListaAstratta,che implementa il concetto di Lista mediante un array riallocabile dinamicamente.ListaArray deve fornire un costruttore che riceve la capacità iniziale dell array,ed il costruttore di default che fissa a 20 la capacità iniziale.realizzare in veste ricorsiva il metodo indexOf.
Esercizio 4
Scrivere una classe Applicazione col metodo main che costruisce una lista di persone,le ordina per valori crescenti e ne visualizza il contenuto.Le persone si suppongono oggetti di una classe Persona(da scrivere nello stesso file)che introduce cognome,nome e sesso.Il confronto tra persone è il seguente:le femmiine precedono i maschi.A parità di sesso l ordinamento è quello alfabetico.