Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    problema con la classe astratta...

    vi spiego il mio problema...

    ho una classe Episode che implementa l'interfaccia Comparable con il metodo compareTo()..
    questa classe rappresenta degli episodi presenti in un catalogo..i dati sono:

    serial
    stagione
    titolo episodio
    numero episodio
    anno
    genere

    ho un'altra classe DB in cui gestisco i dati presenti nel catalogo leggendoli da file e memorizzandoli in un array, aggiungendo episodi, eliminando ecc...

    infine ho la classe che mi crea problemi...è una classe astratta Query che rappresenta una generica interrogazione al catologo da cui prelevare i dati richiesti dalla query..
    in questa classe c'è un solo metodo...
    abstract match(Episode e): metodo astratto che verifica che l'episodio e rispetti i criteri di ricerca selezionati...

    dato che questo è un progetto universitario..non capisco cosa dovrei fare nel metodo astratto...
    AIUTOOOO!!!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: problema con la classe astratta...

    Originariamente inviato da pieroJdk
    infine ho la classe che mi crea problemi...è una classe astratta Query che rappresenta una generica interrogazione al catologo da cui prelevare i dati richiesti dalla query..
    in questa classe c'è un solo metodo...
    abstract match(Episode e): metodo astratto che verifica che l'episodio e rispetti i criteri di ricerca selezionati...
    Non so cosa devi fare di preciso e non posso certo sapere quali sono le richieste e necessità del tuo progetto. Quindi posso solo essere "vago".

    Se hai una classe astratta con un metodo astratto, si presuppone che tu debba quindi estenderla per implementare in modo "concreto" questo "match".
    Ma se non dici di più, non ho idea di cosa/come debbano fare questa tua classe e il metodo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    in pratica la classe Query è astratta e viene estesa da delle sotto classi come TitleQuery, SerialQuery..ognuna con un loro metodo match...

    xò non capisco cosa deve fare il metodo astratto match della classe Query...

  4. #4
    Ciao pieroJdk,
    sono alle prese anche io con questo progetto!
    La classe astratta Query estende le varie sotto-query che devono implementare il metodo booleano match!Il match di ogni classe estesa deve, all'occorrenza, eseguire ciò che è specificato nella consegna..
    Le istanze di Query verranno passate al metodo query della classe DB che appunto richiede come argomento un oggetto Query ritornando un array di Episode che rispettano la ricerca della query (grazie al late binding di java)..
    Nella classe astratta Query, match lo devi solo dichiarare astratto..lo andrai ad implementare dopo!

  5. #5
    scusa l'ignoranza ma cosa sarebbe il late binding di java??
    altra cosa..da quello ke ho capito sono le sotto classi ad estendere la classe Query..

    cioè...

    class SerialQuery extends Query...giusto?

  6. #6
    1)
    Ti passo il primo link che ho trovato sul late binding

    2)
    Esattamente!Le sotto query estendono la classe astratta Query implementando fisicamente il metodo match!

    Quando userai match in query di DB il compilatore non saprà a priori quale Query gli verrà passata, ma si aspetterà solo un oggetto Query e di conseguenza le sotto_classi estese da essa!E siccome match è implementato obbligatoriamente in tutte le sotto-query funzionerà per ogni tipo di ricerca!
    del tipo:
    codice:
    if(query.match([Episodio_in_esame])) {
        //aggiungo l'episodio all'array da ritornare
    }

  7. #7
    quindi anke nelle sotto classi il metodo match sarà astratto o solo nella classe Query??
    in poche parole il late binding è una caratteristica di java..non è nulla che dobbiamo fare noi nel progetto giusto?

  8. #8
    No, nelle sotto-classi devi per forza implementare il metodo match, altrimenti sarebbero anch'esse astratte e non potresti istanziarle!
    La comodità di avere una classe astratta Query è proprio quella di non conoscere a priori quale query verrà passata al query di DB eseguendo comunque il match!

  9. #9
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da pieroJdk
    in pratica la classe Query è astratta e viene estesa da delle sotto classi come TitleQuery, SerialQuery..ognuna con un loro metodo match...

    xò non capisco cosa deve fare il metodo astratto match della classe Query...

    quindi anke nelle sotto classi il metodo match sarà astratto o solo nella classe Query??
    Nella classe astratta Query il metodo astratto match() non ha nemmeno un "corpo"! Deve essere dichiarato solo con un ; finale. Non ci può essere { ... } se è astratto.

    Nelle sottoclassi non dovrai più specificare abstract e dovrai mettere il corpo { ... } con una tua implementazione.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  10. #10
    ok...grazie mille ragazzi...

    con questi chiarimenti spero di finire presto il tutto...

    grazie mille!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.