Node: Unterschied zwischen den Versionen

Aus SibiWiki
Zur Navigation springen Zur Suche springen
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Informatik]]
[[Kategorie:Informatik]]
[[Kategorie:Informatik-Abitur]]
[[Kategorie:Informatik-Abitur]]
<font color='red'>'''Diese Seite entspricht dem Abi 17 (und folgenden)'''</font>
[[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<ContentType> {
public class Node {
       private ContentType value;
       private Object value;
       private Node<ContentType> next;
       private Node next;
        
        
       /**
       /**
       * erzeugt einen Node
       * erzeugt einen Node
       * @param value 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 value){
       public Node(ContentType pContent){
             this.value = value;
             content = pContent;
       }
       }
        
        
Zeile 26: Zeile 28:
       * @return
       * @return
       */
       */
       public Object getValue() {
       public ContentType getContent() {
             return value;
             return content;
       }
       }
        
        
       /**
       /**
       * veraendert das gespeicherte Objekt.
       * veraendert das gespeicherte Objekt.
       * @param value
       * @param pContent
       */
       */
       public void setValue(Object value) {
       public void setContent(ContentType pContent) {
             this.value = value;
             content = pContent;
       }
       }
        
        
Zeile 41: 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 47: Zeile 49:
       /**
       /**
       * setzt einen Verweis auf den naechsten Knoten.
       * setzt einen Verweis auf den naechsten Knoten.
       * @param next
       * @param pNext
       */
       */
       public void setNext(Node next) {
       public void setNext(Node<ContentType> pNext) {
             this.next = next;
             next = pNext;
       }
       }
  }
  }</code>
</code>

Aktuelle Version vom 23. Januar 2022, 18:09 Uhr

Diese Seite entspricht dem Abi 17 (und folgenden)

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;
     }
}