dimanche 3 mai 2015

Frage zu Interface

In einer Aufgabe musste ich alle Methoden in einem Interface zusammenfassen (siehe unten).
Allerdings sehe ich den Sinn dahinter nicht ganz. Man kann ja trotzdem direkt von der Main-Methode darauf zugreifen ohne zuerst übers interface gehen zu müssen.

Kann mir das jemand anhand eines einfachen Beispiels erklären?




Code:

public interface Queue {

    public void SuperKlasse();
                           

    public void SuperKlasse(int size);

    public void put(Object obj);

    public Object get();

    public Object peek();

    public void clear();

    public boolean isEmpty();

    public Object[] getqArray();
                               
    public void setOArray(Object[] qArray);

    public int getInitialSize();

    public void setInitialSize(int initialSize);

    public void showArraySize();

    public void showItems();

}

Code:

public class ArrayQueue implements Queue {
    Object[] qArray;
    protected int initialSize = 3;
    protected int pos;
   
   
    public void SuperKlasse() { //Konstruktor: Kein Grössenwert wird mitgeliefert, also erstellt es ein Array mit der Initialgrösse
        qArray = new Object[initialSize];
    }
 
    public void SuperKlasse(int size) {//Konstruktor: Hier wird ein Grössenwert mitgeliefert und ein Array mit dieser Grösse erstellt
        qArray = new Object[size];
    }
 
   
    public void put(Object obj){//platziert obj in der Queue
        qArray[pos] = obj; // obj in oA aufnehmen
        pos++; // pos erhöhen           
    }
   
    public Object get(){//liefert erstes Objekt zurück (mit Entfernen) (zz nur Pseudo Werte, muss noch programmiert werden)
        Object o = qArray[0];
        return qArray;
    }
   
    public Object peek() { //liefert erstes Objekt zurück (ohne Entfernen)
        return qArray[pos - 1]; // noch keine Ausnahmebehandlung
    }
   
    public void clear()//leert die Queue
    {}
       
   
    public boolean isEmpty()//testet, ob Queue leer ist
    {
        return false;
    }
   
   
   
   
   
   
    public Object[] getqArray() {// Hier wird das Objekt qArray weitergegeben mit protected
        return qArray;
    }
 
    public void setOArray(Object [] qArray) {
        this.qArray = qArray;
    }
 
    public int getInitialSize() {//Initialgrösse wird witergegeben (an SubKlasse)
        return initialSize;
    }
 
    public void setInitialSize(int initialSize) {//InitialSize Wert von dieser Klasse weitergegeben
        this.initialSize = initialSize;
    }
 
    public void showArraySize() {//Zeigt die Arraygrösse an
        System.out.println(qArray.length);
    }
 
    public void showItems() {//Zeigt den Intalt des Arrays
        for (Object object : qArray) {
            System.out.println(object.toString());
        }
    }
 
   
}



Frage zu Interface

0 commentaires:

Enregistrer un commentaire