Lösungen - Lehr- und Forschungsgebiet Informatik 2
Lösungen - Lehr- und Forschungsgebiet Informatik 2
Lösungen - Lehr- und Forschungsgebiet Informatik 2
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
14<br />
15 /∗∗<br />
16 ∗ Erzeugt einen neuen Nebenfluss .<br />
17 ∗<br />
18 ∗ @param name Name des neuen Nebenflusses<br />
19 ∗ @param laenge Laenge des neuen Nebenflusses<br />
20 ∗ @param z i e l Dort muendet der neue Nebenfluss .<br />
21 ∗/<br />
22 public Nebenfluss (String name , int laenge , Fluss ziel ) {<br />
23 super(name , laenge ) ;<br />
24 this .ziel = ziel ;<br />
25 }<br />
26<br />
27 /∗∗<br />
28 ∗ @return in welches Stehgewaesser der aktuelle Fluss a b f l i e s s t<br />
29 ∗/<br />
30 protected Gewaesser senke () {<br />
31 return this .ziel .senke ( ) ;<br />
32 }<br />
33<br />
34 /∗∗<br />
35 ∗ @return die Flussordnungszahl des aktuellen Nebenflusses<br />
36 ∗/<br />
37 public int floz () {<br />
38 int flozVonZiel = 0;<br />
39 if ( this .ziel instanceof Hauptfluss ) {<br />
40 flozVonZiel = ((Hauptfluss ) this .ziel ) . floz ( ) ;<br />
41 }<br />
42 else if ( this .ziel instanceof Nebenfluss ) {<br />
43 flozVonZiel = ((Nebenfluss ) this .ziel ) . floz ( ) ;<br />
44 }<br />
45 return 1 + flozVonZiel ;<br />
46 /∗ Diese Methode is t mit einer /abstrakten/ Methode<br />
47 ∗ int floz ()<br />
48 ∗ in der Klasse Fluss wesentlich eleganter in einer Zeile<br />
49 ∗ zu implementieren:<br />
50 ∗ return 1 + this . z i e l . f l oz ();<br />
51 ∗/<br />
52 }<br />
53<br />
54 public String toString () {<br />
55 return super .toString () + ” <strong>und</strong> muendet als Nebenfluss in den Fluss ” +<br />
56 this .ziel . getName ( ) ;<br />
57 }<br />
58 }