View Full Version : ereditarietà delle classi in java
dark_angel_970
09-12-2003, 11:11
Salve a tutti è la prima volta che posto su questo forum ed inizio subito con qualcosa che non ho ben capito di un progetto universitario che sto svolgendo in java.
il problema è:
Nella classe Occorrenze è necessario prevedere anche il seguente metodo equals
public boolean equals(Object o)
Restituisce true se l'oggetto fornito come argomento è un'occorrenza e si riferisce alla medesima stringa a cui si riferisce l'occorrenza che esegue il metodo.
Questo metodo è utilizzato all'interno del metodo find della classe SeqeunzaOrdinata.
Preciso che la classe SequenzaOrdinata è gia stata implementata dal prof, mi chiedevo se il fatto che questo metodo sia utilizzato all’interno del metodo find della classe SequenzaOrdinata, significhi che io importando tale classe possa andare ad ereditarlo.
Ma non so in quale modo, nel senso che sto implementando la classe Occorrenze all’interno importo la classe sequenzaordinata e quando vado a scrivere il metodo scriverò:
public boolean equals(Object o){
????qui cosa ci metto????
}
sempreche questo sia il modo corretto di ereditare un metodo da una classe.
Potreste darmi un aiuto?
:muro:
dovresti essere un pochino più chiaro perché non ho capito bene il problema.
per ora ho capito che il prof vi ha fornito una classe e all'interno di un metodo (find) utilizza equals, però non mi è chiaro a chi appartiene.
se equals contenuto in find è un metodo della classe del prof allora puoi ereditarlo ma se si riferisce a un oggetto di qualche altra classe allora no...
dark_angel_970
09-12-2003, 12:06
Guarda anch'io ho le idee abbastanza confuse, quindi credo che sia meglio che ti rimandi ad un link dove sicuramente leggendolo riuscirai ad aiutarmi.
http://homes.dico.unimi.it/prog//turnoSerale-03/lab/progettino2/domande.html
se poi vuoi saperne di più potari cliccare su quest'altro link:
http://homes.dico.unimi.it/prog//turnoSerale-03/lab/progettino2/progettino2.pdf
spero che tu abbia la pazienza di volermi aiutare.
nel frattempo grazie.
gabriele81
09-12-2003, 13:30
A quanto ho capito l'ereditarietà non c'entra niente.
In pratica nella classe SequenzaOrdinata c'è un metodo find fatto più o meno così:
public tipo_di_ritorno find(eventuali_argomenti){
.........
Occorrenze o1 = new Occorrenze(...);
Occorrenze o2 = new Occorrenze(...);
boolean b = o1.equals(o2);
......
}
Il metodo equals(Object o) nella classe Occorrenze lo puoi scrivere così:
public boolean equals(Object o){
if(o != null && this.getClass().equals(o.getClass())){
Occorrenze occ = (Occorrenze) o;
return this.getStringa().equals(occ.getStringa());
}
else return false;
}
In pratica in questo modo si fa l'overriding del metodo equals che tutte le classi ereditano automaticamente dalla classe Object.
dark_angel_970
09-12-2003, 13:45
ti ringrazio per la risposta fornitami.
subito ne approfitto per cercare di capire come fare il pezzo di codice di seguito indicato, scusate ma :muro: senza riuscire a cavare un ragno dal buco.
Supponendo che il carattere §...§ indica un titolo e che a seconda di quanti § ve ne siano io debba indicare di che livello sia, nell'esempio seguente è un titolo di terzo livello. Il carattere # indica una parola chiave, pertanto dovrò indicare quali e quante parole chiave esistono. Inoltre dovro estrapolare e contare quante volte si ripete all'interno della frase ogni singola parola, dove per parola si intende una sequenza consecutiva di caratteri alfabetici .
Poniamo che io abbia la seguente frase:
§§§Ciao§§§
sono #DARK# e sono un'angelo nero.Ciao.
RISOLUZIONE
Ciao: è un titolo di 3° livello
DARK: è una parola chiave
Ciao: è ripetuta due volte alla linea 1,2
sono: è ripetuta due volte alla linea 2
DARK: è ripetuta una volta alla linea 2
e: è ripetuta una volta alla linea 2
un: è ripetuta una volta alla linea 2
angelo: è ripetuta una volta alla linea 2
nero: è ripetuta una volta alla linea 2
sperando di essere stato abbastanza chiaro, Vi chiedo gentilmente di aiutarmi.
grazie
gabriele81
09-12-2003, 13:59
Il testo in ingresso lo prendi da un file? Queste operazioni le devi mettere in un metodo ben definito? In che classe va il metodo?
dark_angel_970
09-12-2003, 14:09
Si il testo in ingresso lo prendo da un file letto sulla riga di comando del tipo
c:\>java pippo testo.txt
devo creare tre classi che mi facciano il tutto,
class occorrenze
class Voceindice
classe analizzatoreTesto
comunque se leggi il pdf al link che ho postato prima capirai subito cosa devo fare
grazie
ma la classe SequenzaOrdinata() lavora da se, basta istanziarla ed usare il metodo add()
dark_angel_970
09-12-2003, 18:17
Allora qualcuno saprebbe darmi una mano per favore sono in panne!!!!!
Originariamente inviato da dark_angel_970
ti ringrazio per la risposta fornitami.
subito ne approfitto per cercare di capire come fare il pezzo di codice di seguito indicato, scusate ma :muro: senza riuscire a cavare un ragno dal buco.
Supponendo che il carattere §...§ indica un titolo e che a seconda di quanti § ve ne siano io debba indicare di che livello sia, nell'esempio seguente è un titolo di terzo livello. Il carattere # indica una parola chiave, pertanto dovrò indicare quali e quante parole chiave esistono. Inoltre dovro estrapolare e contare quante volte si ripete all'interno della frase ogni singola parola, dove per parola si intende una sequenza consecutiva di caratteri alfabetici .
Poniamo che io abbia la seguente frase:
§§§Ciao§§§
sono #DARK# e sono un'angelo nero.Ciao.
RISOLUZIONE
Ciao: è un titolo di 3° livello
DARK: è una parola chiave
Ciao: è ripetuta due volte alla linea 1,2
sono: è ripetuta due volte alla linea 2
DARK: è ripetuta una volta alla linea 2
e: è ripetuta una volta alla linea 2
un: è ripetuta una volta alla linea 2
angelo: è ripetuta una volta alla linea 2
nero: è ripetuta una volta alla linea 2
sperando di essere stato abbastanza chiaro, Vi chiedo gentilmente di aiutarmi.
grazie
markleon
09-12-2003, 22:38
Ciao a tutti, sto facendo anch'io lo stesso progettino sopra citato e lo trovo veramente difficile.Sopratutto nel fare interagire tra loro le varie classi.Ho creato la classe AnalizzatoreTesto che come metodi ha getIndice e getParoleChiave le quali restituiscono rispettivamente una sequenza contenente gli oggetti di tipo VoceIndice ed una sequanza contenente gli oggetti di tipo Occorrenze.
Ora però nelle creazione delle altre due classi mi sono bloccato e mi piacerebbe avere un aiuto.
Grazie a tutti gli esperti anticipamente.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.