Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [Java] Interfacce

  1. #1

    [Java] Interfacce

    Vorrei capire meglio le interfacce, ho trovato questo su un libro:

    public interface StackDef {
    public void push( int i );
    public int pop();
    }

    class Stack implements Stack {
    ...... <-----
    }

    I metodi push e pop sono stati ereditati, ma non capito cosa devo scrivere dentro la classe Stack. Se i metodi sono stati ereditati posso direttamente usarli? Oppure devo ridefinirli? Oppure devo ridefinirli facendo conto che l'Interface mi fa solamente un prototipo del metodo (tipo le funzioni in C) e quindi devo specificare come funzionano all'intenro?

    .:: Zetra.it - Web. ads . multimedia . graphix ::.
    Realizzazione siti web - Carte Magic ai prezzi più bassi d'italia
    - Comuni e Città

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    315

    Re: [Java] Interfacce

    Originariamente inviato da PunkIvi

    Oppure devo ridefinirli facendo conto che l'Interface mi fa solamente un prototipo del metodo (tipo le funzioni in C) e quindi devo specificare come funzionano all'intenro?
    Precisamente.

    In effetti non e' corretto dire che i metodi vengono ereditati, i metodi devono essere implementati.
    La differenza consiste nel fatto che l'ereditarieta' si riferisce ad un metodo di una classe superiore che non sia astratto (e quindi invocabile), mentre nel caso di un interfaccia il metodo presente in essa non e' implementato, ma ne e' specificata esclusivamente la firma (nome + tipo dati restituito + parametri accettati).
    Spetta alla classe che implementa l'interfaccia specificare il comportamento dei metodi.
    Ciao,
    Lorenzo

  3. #3
    Chiaro :gren: .
    Avrei un altro paio di quesiti:

    1-----

    Ci dovrebbe essere un errore:
    class Stack implements Stack => class Stack implements StackDef


    2-----

    class Stack implements Stack {
    ...... <-----
    }

    Come lo invoco da qui il metodo (supponiamo uno Stack x = new StackDef)?

    Grazie
    .:: Zetra.it - Web. ads . multimedia . graphix ::.
    Realizzazione siti web - Carte Magic ai prezzi più bassi d'italia
    - Comuni e Città

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.