Tipo di Dati astratto e Interfaccia

Sono nuovo di Java. Qual è la differenza tra il tipo di dati Astratto e Interfaccia.

Per Esempio, Abbiamo un ListADT

interface MyListADT<T> {
    void add(T var);
    void add(T var,int pos);
    void display();
    T remove(int pos);
    void clear();
    boolean contains(Object o);
}

Dove stiamo definendo il ADT come interfaccia. Ora, Qual è la differenza tra ADT e Interfaccia O ADT è un’Interfaccia

possibile duplicato di Qual è la differenza tra un’interfaccia e classe astratta?
si dovrebbe avere studiato prima di porre questa domanda .Questa domanda/risposta è disponibile in tanti luoghi poi si ca trovarlo facilmente.
C’è qualche differenza tra la Classe Astratta e Tipo di Dati Astratto
DownVoter può lasciare un commento qui. Thaknks
Per chi è alla ricerca di questo in futuro, questa domanda è un duplicato di una qualsiasi di queste domande proposte. È abbastanza in particolare sui Tipi di Dati Astratti, che molte risposte hanno detto (e la maggior parte delle risposte completamente perso), e non le Classi Astratte.

InformationsquelleAutor user2454830 | 2013-10-08

8 Replies
  1. -7
    What is the difference between Abstract data type and Interface.
    1. Le variabili dichiarate in una interfaccia Java di default finale. Un
      classe astratta può contenere non-finale variabili.
    2. Membri di una interfaccia Java per impostazione predefinita sono pubbliche. Java abstract
      classe può avere i soliti sapori dei membri della classe, come privato,
      protetti, ecc..
      controllare questo link per info
    Non ricevo le vostre risposte in modo chiaro… Quindi, la Tua discussione è il Tipo di Dati Astratto è un’interfaccia o avete qualche altra risposta.
    La combinazione di dati insieme con i suoi metodi, è chiamato un Tipo di Dati Astratto (ADT). Una Interfaccia Java è un modo per specificare un ADT.
    quando scrivi String x=”ciao” a questo diciamo che x è una variabile di tipo Stringa. Tipo di dati significa che la variabile si sono assiging.Spero che tu sappia di classe, in modo che non spiegando in che classe è
    Ora ho capito.. che… MyListADT listADT = new MyListADTImple(); Dove MyListADT è un interfacfe che inturn un Tipo di Dati Astratto. Sono Di Destra…?
    La domanda non era sulle differenze tra un astratto classe e un tipo di dati astratto

    InformationsquelleAutor SpringLearner

  2. 22

    Ci sembra una confusione in questo Q&A. La domanda era “Tipo di Dati Astratto e di Interfaccia” e la maggior parte delle risposte concetrating su “Classi Astratte”.

    I termini “tipo di dati astratto’ e classe astratta, si riferiscono a due interamente concetti diversi, anche se entrambi utilizzano la parola “astratta”. Un tipo di dati astratto è un self-contained, di tipo definito dall’utente che contiene i dati con una serie di operazioni correlate. Si comporta nello stesso modo come un built-in tipo. Tuttavia, non si eredita da altre classi, né servire come base per altre classi derivate. Se si cerca su di esso in wiki si vedrà “Un tipo di dati astratto è definito come un modello matematico dei dati oggetti che costituiscono un tipo di dati e le funzioni che operano su questi oggetti. Non ci sono convenzioni standard per la definizione. Un’ampia divisione può essere tracciata tra “imperativo” e “funzionale” definizione di stili”. Per esempio, in Java abbiamo Elenco interfaccia. Si definisce una struttura di dati con il metodo di operare su, ma non fornisce alcuna implementaion come tale.

    In contrasto, una classe astratta è tutt’altro che un tipo di dati astratto. Una classe astratta è una classe che è dichiarato abstract — ‘si può o non può includere metodi astratti’. Classe astratta non può essere istanziata, ma possono essere suddivise in sottoclassi. Non è un tipo di dati. Una classe astratta è solo uno scheletro di interfaccia, che consente di specificare un insieme di servizi che le sue sottoclassi implementare. Purtroppo, la distinzione tra i due concetti spesso confusi. Molte persone erroneamente utilizzato il termine tipo di dati astratto quando in realtà si riferiscono a una classe astratta.

    A mio parere Interfacce Java per l’attuazione “tipo di Dati Astratto”

    Si può leggere su “Tipo Di Dati Astratto” in Wiki. Nelle montagne di che, se volete sapere di più sul tipo di dati astratto in java si può fare riferimento a questo link, http://www.e-reading.ws/bookreader.php/138175/Abstract_Data_Types_in_Java.pdf, la sua davvero buono.

    La maggior parte di voi potrebbero avere familiarità con le classi astratte, Ancora si può leggere su di esso da http://docs.oracle.com/javase/tutorial/java/IandI/abstract.html

    Di aggiungere fino a questo confusioni, Java 8 introdotto un qualcosa chiamato “Metodi Predefiniti“, da cui si potrebbe effettivamente dare implementazioni di metodi di interfaccia. Per eliminare la confusione che si può fare riferimento a questa stackoverflow domanda Interfaccia con i metodi predefiniti vs classe Astratta in Java 8

    InformationsquelleAutor Syam S

  3. 7

    Provate a pensare su di esso come questo:

    • Interfaccia Java è un tipo, che si riduce a un serie di firme di metodo. Qualsiasi tipo, disposti ad essere riferimento come interfaccia deve fornire l’implementazione di queste firme. In realtà, non c’è nessun comportamento contratto. L’implementazione può fare nulla e di essere ancora “di esecuzione” di un’interfaccia.

    • Java classe astratta è un tipo, con parzialmente specificato comportamento la cui implementazione interna per qualche motivo, devono essere specificati il suo erede. Questa classe non hanno un comportamento, che può essere ridefinito/specificato nei suoi eredi.

    • ADT è un insieme di comportamenti previsti. Si assume, che dopo la chiamata adt.remove(element) si chiama adt.get(element) e ricevere null.

    La risposta alla tua domanda è: solo una interfaccia non è sufficiente per essere un ADT.

    • Tutto, che implementa correttamente interfaccia MyListADT<T> è un ADT. Il suo comportamento esterno devono essere conformi ADT concetto. Questo significa, che, per essere considerata come ADT, il tipo deve portare attuazione, che si traduce in classe astratta o una classe normale. Per esempio: java.util.List<T> è un’interfaccia per un ADT, ma java.util.ArrayList<T> e java.util.LinkedList<T> sono in realtà ADTs, perché il loro comportamento non conforme ADT concetto.

    InformationsquelleAutor Sergey

  4. 5

    La combinazione di dati insieme con i suoi metodi, è chiamato un Tipo di Dati Astratto(ADT).

    Una Interfaccia Java è un modo per specificare ( ma non implementare) un ADT.

    Specifica i nomi, i parametri e tipi di ritorno(vale a dire, intestazione) ADT metodi.

    L’interfaccia non specificare i campi di dati (ad eccezione di pubblico costanti), in quanto questo è un dettaglio di implementazione.

    Una Interfaccia Java specifica i requisiti di un ADT come un contratto tra il fornitore ( di classe che implementa l’ADT) e il cliente (l’utente della classe).

    Infine si dice che, ADT è un’interfaccia a destra
    Ci sono alcuni strani personaggi extra che sto vedendo nel testo dopo ogni parola. Si può risolvere il problema?

    InformationsquelleAutor Saj

  5. 4

    Come per [wiki] http://en.wikipedia.org/wiki/Abstract_data_type

    In informatica, un tipo di dati astratto (ADT) è un modello matematico per una certa classe di strutture di dati che hanno un comportamento simile; o per determinati tipi di dati di uno o più linguaggi di programmazione che sono simili semantica. Un tipo di dati astratto è definito indirettamente, solo le operazioni che possono essere effettuate su di essa e da vincoli matematici sugli effetti (ed economicamente) di tali operazioni.

    Per il linguaggio di programmazione Java

    si può prendere in Java Elenco interfaccia come un esempio. L’interfaccia non definire in modo esplicito qualsiasi comportamento a tutti perché non c’è nessun Elenco concreto di classe. L’interfaccia definisce un insieme di metodi di altre classi (ad esempio ArrayList e LinkedList) deve implementare per poter essere considerato un Elenco.

    ma la linea di fondo è che si tratta di un concetto

    InformationsquelleAutor Count

  6. 1

    In java-

    interfaccia può avere solo metodo astratto che significa che si può solo dichiarare il metodo che ho.e . il metodo può avere qualsiasi implementazione di default.ma la classe astratta può avere sia astratta o il metodo completo.

    se la classe che si sta estendendo è astratta, allora il vostro bambino di classe deve essere dichiarata astratta o devono mettere in atto tutte astratto metodo di super classe.
    Nel caso In cui -in di interfaccia è possibile implementare come molti di interfaccia che si desidera.Anche qui si devono mettere in atto tutte il metodo astratto di tutte le interfacce nella tua classe o dovrebbe essere dichiarata astratta.

    seguire questi link

    http://javapapers.com/core-java/abstract-and-interface-core-java-2/difference-between-a-java-interface-and-a-java-abstract-class/

    http://www.codeproject.com/Articles/11155/Abstract-Class-versus-Interface

    Qual è la differenza tra un’interfaccia e classe astratta?

    Io non sono sempre chiaramente. Tutti stanno dicendo circa le differenze tra l’Interfaccia e la Classe Astratta. Ma le domande circa il Tipo di Dati Astratto e Interfacce. Si prega di verificare con chiarezza. O Siete tutti dicono di Interfaccia è un tipo di dati astratto o Classe Astratta è un Tipo di Dati Astratto. Quale delle due è quella corretta. Io non sono giochi.
    Domanda sull’ADT, non classe astratta . Contrassegnato come non rispondere alle domande.

    InformationsquelleAutor Anuj Kumar Jha

  7. 1

    Per una maggiore distanza.
    Sintassi ed esempi

    sintassi astratta di classe

    public abstract class MyAbstractClass  
    {  
        //code  
        public abstract void method();      
    } 

    esempio di classe astratta

    public abstract class Animal  
    {  
        abstract void walk();      
    }  
    
    public class Dog extends Animal  
    {  
        void walk()  
        {  
             //Implementation is done here  
        }  
    }  

    sintassi di interfaccia

    public interface NameOfInterface
    {
       //Any number of final, static fields
       //Any number of abstract method declarations\
    }

    esempio di interfaccia

    interface Animal {
    
       public void eat();
       public void travel();
    }

    implementazione di interfaccia

    public class MammalInt implements Animal{
    
       public void eat(){
          System.out.println("Mammal eats");
       }
    
       public void travel(){
          System.out.println("Mammal travels");
       } 
    
       public int noOfLegs(){
          return 0;
       }
    
       public static void main(String args[]){
          MammalInt m = new MammalInt();
          m.eat();
          m.travel();
       }
    }

    estensione interfaccia

    //Filename: Sports.java
    public interface Sports
    {
       public void setHomeTeam(String name);
       public void setVisitingTeam(String name);
    }
    
    //Filename: Football.java
    public interface Football extends Sports
    {
       public void homeTeamScored(int points);
       public void visitingTeamScored(int points);
       public void endOfQuarter(int quarter);
    }
    
    //Filename: Hockey.java
    
    public interface Hockey extends Sports
    {
       public void homeGoalScored();
       public void visitingGoalScored();
       public void endOfPeriod(int period);
       public void overtimePeriod(int ot);
    }

    estensione più interfacce

    public interface Hockey extends Sports, Event

    si estende e implementa Sia

    interface A can extends interface B 
    class A can extends class B         
    class A implements interface A   
    class A extends class B implements interface A

    InformationsquelleAutor Paresh3489227

  8. 0

    La combinazione di dati con i suoi metodi, è chiamato un Tipo di Dati Astratto (ADT).

    Una Interfaccia Java è un modo per specificare un Tipo di Dati Astratto (ADT).

    È possibile dichiarare una classe astratta che contiene zero o più metodi astratti o Quando un’interfaccia è implementata da una classe in cui non tutti i metodi sono implementati.

    Downvoters può lasciare un commento qui. Plz. Grazie
    Non ero io, ma forse perché stackoverflow.com/a/19239583/19405 (con un timestamp precedente) dice la stessa cosa, ma con più dettaglio.

    InformationsquelleAutor Sankar

Lascia un commento