Verwendung von super () mit nicht unmittelbarem Elternteil

8

Ist das eine legale Verwendung von super ()?

%Vor%

Danke.

    
upperBound 25.05.2011, 20:39
quelle

2 Antworten

7

Es wird funktionieren, aber es wird wahrscheinlich jeden verwirren, der versucht, Ihren Code zu lesen (einschließlich Sie, es sei denn, Sie erinnern sich genau daran). Vergessen Sie nicht, dass Sie, wenn Sie eine Methode von einer bestimmten Elternklasse aufrufen möchten, einfach Folgendes tun können:

%Vor%     
Thomas K 25.05.2011, 20:47
quelle
2

Nun, "legal" ist hier ein fragwürdiger Begriff. Der Code ruft schließlich A.method auf, da der Typ super von der Suche ausgeschlossen wird. Ich würde diese Verwendung von super flaky als die geringste Erwägung betrachten, da es ein Mitglied der Vererbungshierarchie überspringt (scheinbar hapher), was nicht mit dem übereinstimmt, was ich als Entwickler erwarten würde. Da Benutzer von super bereits ermutigt werden, die Konsistenz zu wahren, würde ich diese Vorgehensweise empfehlen.

    
Jim Brissom 25.05.2011 20:51
quelle

Tags und Links