Node: Unterschied zwischen den Versionen

Aus SibiWiki
Zur Navigation springen Zur Suche springen
Zeile 2: Zeile 2:
[[Kategorie:Informatik-Abitur]]
[[Kategorie:Informatik-Abitur]]


[[File:Klassendiagramm-Node.png|thumb|Klassendiagramm Node|201px]]
[[File:Klassendiagramm-Node.png|thumb|Klassendiagramm Node|430px]]


=Zweck=
=Zweck=
Die Klasse Node dient dazu, um einzelne Knoten in einer [[List|Liste]], einem [[Stack]] oder einem [[Queue]] zu speichern. Dazu hat jedes Node-Objekt zwei Attribute:
Die Klasse Node dient dazu, um einzelne Knoten in einer [[List|Liste]], einem [[Stack]] oder einem [[Queue]] zu speichern. Dazu hat jedes Node-Objekt zwei Attribute:
* <code>value</code>: das Objekt, das in dem Node gespeichert wird.
* <code>content</code>: das Objekt, das in dem Node gespeichert wird.
* <code>next</code>: ein Verweis auf den nächsten Node.
* <code>next</code>: ein Verweis auf den nächsten Node.
 
Die Klasse <code>Node</code> ist parametrisiert, d.h. man kann bei der Erzeugung eines Nodes angeben, mit welchem Datentyp ein Node "gefüllt" werden soll.


=Implementierung=
=Implementierung=
<code>
<code>
  public class Node {
  public class Node<ContentType> {
       private Object value;
       private ContentType value;
       private Node next;
       private Node<ContentType> next;
        
        
       /**
       /**
       * erzeugt einen Node
       * erzeugt einen Node
       * @param pValue das Objekt, das in dem Node gespeichert werden soll.
       * @param pContent das Objekt vom Typ ContentType, das in dem Node gespeichert werden soll.
       */
       */
       public Node(Object pValue){
       public Node(ContentType pContent){
             value = pValue;
             content = pContent;
       }
       }
        
        
Zeile 28: Zeile 28:
       * @return
       * @return
       */
       */
       public Object getValue() {
       public ContentType getContent() {
             return value;
             return content;
       }
       }
        
        
       /**
       /**
       * veraendert das gespeicherte Objekt.
       * veraendert das gespeicherte Objekt.
       * @param pValue
       * @param pContent
       */
       */
       public void setValue(Object pValue) {
       public void setContent(ContentType pContent) {
             value = pValue;
             content = pContent;
       }
       }
        
        
Zeile 43: Zeile 43:
       * gibt einen Verweis auf den naechsten Knoten zurueck.
       * gibt einen Verweis auf den naechsten Knoten zurueck.
       */
       */
       public Node getNext() {
       public Node<ContentType> getNext() {
             return next;
             return next;
       }
       }
Zeile 51: Zeile 51:
       * @param pNext
       * @param pNext
       */
       */
       public void setNext(Node pNext) {
       public void setNext(Node<ContentType> pNext) {
             next = pNext;
             next = pNext;
       }
       }
  }
  }
</code>
</code>

Version vom 11. Februar 2018, 23:01 Uhr


Klassendiagramm Node

Zweck

Die Klasse Node dient dazu, um einzelne Knoten in einer Liste, einem Stack oder einem Queue zu speichern. Dazu hat jedes Node-Objekt zwei Attribute:

  • content: das Objekt, das in dem Node gespeichert wird.
  • next: ein Verweis auf den nächsten Node.

Die Klasse Node ist parametrisiert, d.h. man kann bei der Erzeugung eines Nodes angeben, mit welchem Datentyp ein Node "gefüllt" werden soll.

Implementierung

public class Node<ContentType> {
     private ContentType value;
     private Node<ContentType> next;
     
     /**
      * erzeugt einen Node
      * @param pContent das Objekt vom Typ ContentType, das in dem Node gespeichert werden soll.
      */
     public Node(ContentType pContent){
           content = pContent;
     }
     
     /**
      * gibt das gespeicherte Objekt zurueck
      * @return
      */
     public ContentType getContent() {
           return content;
     }
     
     /**
      * veraendert das gespeicherte Objekt.
      * @param pContent
      */
     public void setContent(ContentType pContent) {
           content = pContent;
     }
     
     /**
      * gibt einen Verweis auf den naechsten Knoten zurueck.
      */
     public Node<ContentType> getNext() {
           return next;
     }
     
     /**
      * setzt einen Verweis auf den naechsten Knoten.
      * @param pNext
      */
     public void setNext(Node<ContentType> pNext) {
           next = pNext;
     }
}