Einzelnen Beitrag anzeigen
Alt 08.12.2004, 16:39  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Zitat:
Zitat von fantast
Zitat:
Zitat von Waq
sollte überhaupt nicht auf einzelne Member-Variablen zugegriffen werden
richtig. was machst du in dem fall, wenn man die variable direkt braucht ?
Überlegen, was ich falsch gemacht habe. Wie die "bessere" Struktur aussieht, ist vom Kontext abhängig. Meistens geht es in die Richtung, dass der Zugriff als atomarer Vorgang unnötig ist und in eine andere Funktion integriert wird, oder dass der Accessor erweitert wird und der aufrufenden Funktion Arbeit abnimmt, so dass der Aufrufer weniger über die Interna des Objekts weiss. Da ist es nicht mit einer Umbenennung der Methode getan.
Wenn einem keine bessere Struktur einfällt, lässt man es halt so.

Zitat:
Zitat von fantast
moment, jetz haste mich verloren, was is denn an meiner variante iterativ ?
Schleifen sind iterativ. Wenn eine Funktion sich selbst oder eine verwandte Funktion aufruft, ist das Rekursion.
Ein ordentlicher Zugriff auf einen Baum könnte so aussehen (aka SimpleXML):

PHP-Code:
//rekursive preorder-Ausgabe eines Baumes
function preorder($tree) {
  echo 
$tree;
  foreach (
$tree as $subtree)
    
preorder($subtree);
}
//ein baum kommt daher
$tree = new tree();

//baum ausgeben
preorder($tree); 
Das Durchgehen der Kinder eines Knotens ist hier zwar noch iterativ, aber der Sprung von Ebene zu Ebene ist rekursiv. Das meine ich auch mit "von aussen".
Ich sehe einfach keinen Grund, warum sich der Aufrufer mit den Array-Indizes rumschlagen sollte, wenn es sich um eine Baumstruktur handelt.
__________________
mod = master of disaster
Waq ist offline   Mit Zitat antworten