Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    75

    java - iterator, come inserire l'interfaccia?

    Salve,

    ho una idea abbastanza vaga di cosa sono le interfacce

    Ho creato un vector, e vorrei scorrerlo con iterator, ma so che è una interfaccia. Se lo uso da solo mi da errore, come faccio a dirgli che voglio usare l'interfaccia iterator?

    E... qualcuno mi saprebbe spiegare un po meglio che sono queste interfacce???????????????????????????

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    75

    cos'è abstract?

    Seguendo un' esempio simile ho scritto una cosa come:

    class x implements Iterator {

    ma mi dice che deve essere dichiarato come abstract, qualcuno di voi sa di che si tratta?

  3. #3
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    le interfacce definiscono il comportamento di un oggetto con dei metodi da implementare in pratica
    public interface Interfaccia {
    public void metodo();
    }
    public class Oggetto implements Interfaccia {
    public void metodo() {
    corpo del metodo
    }
    }

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    75
    import java.util.*;


    class Esercizio6 implements Iterator {

    public static void main(String args[]) {

    Vector v1=new Vector();
    Vector v2=new Vector();

    for(int i=0; i<args.length; i++) {

    for (int a=0; a<args[i].length(); a++) {

    if (Character.isDigit(args[i].charAt(a))) {

    v1.addElement(new Integer (a));

    } else {

    v2.addElement(new Integer (a));

    }

    }

    }

    System.out.println(v1.size());
    System.out.println(v2.size());

    Iterator x=v1.iterator();
    while (x.hasNext()) {

    System.out.println (x);


    }

    }

    }


    Continua a dirmi che dovrebbe essere dichiarato abstract, perchè non è definito il metodo hasNext()...???

  5. #5
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    NON devi implemetare iterator in una classe che non contiene oggetti (come Iterator)

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    75

    sugli oggetti...

    Avendo iniziato da pochissimo è possibile che sto per dire una grande ca..........a, ma quando io dichiaro Vector v1=new Vector, non sto creando un oggetto di vector? E quindi perchè non posso usare iterator su un oggetto come vector?

    Ho le idee molto confuse su questa cosa, se sono completamente fuori strada potresti indicarmi un qualcosa su internet da leggere sull'argomento se lo conosci?

    Grazie

  7. #7
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    se devo implementare un'interfaccia Animale definisco i metodi nasce mangia repira cammina, quindi istanzio un oggetto public class Uomo implemets Animale e implemento i metodi di prima, il metodo vive (non ereditato dall'interfaccia) sicuro che debba contenere un'istanza di un Vector, ma Uomo per questo non deve implementare Iterator
    :gren:

  8. #8

    Re: cos'è abstract?

    Originariamente inviato da gioconda
    Seguendo un' esempio simile ho scritto una cosa come:

    class x implements Iterator {

    ma mi dice che deve essere dichiarato come abstract, qualcuno di voi sa di che si tratta?
    Le interfacce sono delle classe particolari in cui non ci sono i costruttori, e in cui vengono solo dichiarati dei metodi.
    Tutte le classe che implementano un'interfaccia devono implementare tutti i metodi dichiarati nell'interfaccia stessa
    é un po' come dire al compilatore "io mi impegno a dichiarare in questa classe tutti i metodi presenti nell'interfaccia"
    se anche uno solo di questi metodi non viene implementato, il compilatore si arrabbia
    e infatti ti suggerisce di definire la classe abstract

    Una classe abstract è simile all'interfaccia, infatti contiene la definizione di metodi.
    A differenza dell'interfaccia, però, i metodi possono anche essere implementati
    23-08-2005: Udinese in cémpions lìg
    Questa estate l'ho passata a Tallin

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 © 2024 vBulletin Solutions, Inc. All rights reserved.