Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Interfaccia Java

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339

    Interfaccia Java

    Ciao a tutti.

    Ho un dubbio su come scrivere un interfaccia utilizzando i parametri di tipo.

    L'esercizio dice : scrivere un interfaccia Soldi che estende Comparable ed Iterable e
    fornisce i seguenti metodi astratti:

    double totale();
    void add(Denaro d);
    void add(Soldi s);
    Soldi sub(Soldi s1, Soldi s2);

    Io l'ho scritta senza i parametri di tipo.
    Cioè:

    codice:
    public interface Soldi extends Comparable, Iterable{
    double totale();
    void add(Denaro d);
    void add(Soldi s);
    Soldi sub(Soldi s1, Soldi s2);
    }
    Se voglio scriverla utilizzando i parametri di tipo è corretto in questo modo?

    codice:
    public interface Soldi<T extends Comparable<? super T>> extends Iterable<T>{
    double totale();
    void add(Denaro d);
    void add(Soldi s);
    Soldi sub(Soldi s1, Soldi s2);
    }
    Buttateci un occhiata
    Ciao

  2. #2
    Originariamente inviato da Markus85
    L'esercizio dice : scrivere un interfaccia Soldi che estende Comparable ed Iterable e
    fornisce i seguenti metodi astratti:
    double totale();
    void add(Denaro d);
    void add(Soldi s);
    Soldi sub(Soldi s1, Soldi s2);
    Puoi postare la specifica corretta e completa? Scritta così non è molto esplicativa..

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339
    Ciao
    Non mi ricordo bene l'esercizio (Faceva parte di un appello di Ingegneria).


    io volevo sapere se un interfaccia Soldi che implementa Comparable ed Iterable va scritta cosi:

    codice:
    public interface Soldi extends Comparable, Iterable //Senza parametri di tipo
    
    public interface Soldi<T extends Comparable<? super T>> extends Iterable 
    //Con i parametri di tipo
    utilizzando i parametri di tipo, i metodi dell'interfaccia li posso scrivere cosi:

    codice:
    public interface Soldi<T extends Comparable<? super T>> extends Iterable<T>{
    double totale();
    void add(Denaro d);
    void add(Soldi s);
    Soldi sub(Soldi s1, Soldi s2);
    }
    oppure cosi:

    codice:
    public interface Soldi<T extends Comparable<? super T>> extends Iterable<T>{
    double totale();
    void add(T d);
    void add(T s);
    T sub(T s1, T s2);
    }
    Spero di essere stato chiaro

  4. #4
    Originariamente inviato da Markus85
    Non mi ricordo bene l'esercizio (Faceva parte di un appello di Ingegneria).
    Le segnature dei metodi quindi le hai definite tu?

    A parte questo, penso che la definizione con l'uso delle generics non è corretta.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339
    Ti volevo chiedere un'altra cosa.

    Ho un interfaccia Memoria destinata a memorizzare oggetti di tipo Variabile.
    Essa viene poi implementata da una classe MemoriaAstratta.

    Avrei bisogno di delucidazioni in merito all'utilizzo di un iteratore:

    C'è un metodo Contains che ritorna true se esiste la variabile specificata.

    codice:
    public boolean Contains(Variabile v){
     if (v==null) return false;
     Iterator<Variabile> it = this.iterator();
     while(it.hasNext()){
     Variabile myv = it.next();
     if(myv.equals(v)) return true;
    }
    qui l'iteratore viene utilizzato su this, e fin qui nessun problema.

    In un altro metodo (il metodo get(Variabile) che restituisce un oggetto Variabile uguale al parametro) l'iteratore viene utilizzato in un altro modo:

    codice:
    public Variabile get(Variabile v){
     Iterator<Variabile> it = iterator();
    .....
    }
    Perchè " Iterator<Variabile> it = iterator();"

    invece di " Iterator<Variabile> it = this.iterator(); ?

  6. #6
    Originariamente inviato da Markus85
    Perchè " Iterator<Variabile> it = iterator();"

    invece di " Iterator<Variabile> it = this.iterator(); ?
    Le due chiamate sortiscono lo stesso effetto, in quanto entrambe si riferiscono alla stessa istanza di Memoria.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339
    Vuoi dire che scrivere

    Iterator<T> it = this.iterator();

    e scrivere

    Iterator<T> it = iterator();

    è la stessa cosa?

  8. #8
    Originariamente inviato da Markus85
    Vuoi dire che scrivere

    Iterator<T> it = this.iterator();

    e scrivere

    Iterator<T> it = iterator();

    è la stessa cosa?
    In quel caso si.

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.