Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo, ich habe folgende Methode und soll erklären bzw. will mir klar werden, was sie macht. Es wäre echt super, wenn jemand Schritt für Schritt erklären könnte, was die Methode macht und was die unterschiedlichen Termini bedeuten!
public Vector<PKW> getMietwagen(String bezeichnung)
{
Vector<PKW> kandidaten = new Vector<PKW>();
for (int i = 0; i < fuhrpark.size(); i++)
{
if( fuhrpark.get(i).getClass().getName().contains(bezeichnung) )
kandidaten.add(fuhrpark.get(i));
}
return kandidaten;
}
Die Methode getMietwagen(String bezeichnung) liefert beim Ausführen z.B. mit getMietwagen(Golf)
einen Vektor vom Typ PKW zurück der alle Golfs enthält die der Fuhrpark besitzt.
Java:
Vector<PKW> kandidaten = new Vector<PKW>();
legt dabei einen neuen Vektor an, der nur Elemente vom Typ/der Klasse PKW enthalten darf
Dieser wird Kandidaten genannt und enthält später alle Fahrzeuge nach denen gefragt wurde.
Java:
for (int i = 0; i < fuhrpark.size(); i++)
{
if( fuhrpark.get(i).getClass().getName().contains(beze ichnung) )
kandidaten.add(fuhrpark.get(i));
}
hier wird also mittels einer schleife eine menge durchlaufen (vom 0.Element bis zum letzten Element, welches durch Fuhrpark.size erkannt wird) die sich fuhrpark nennt und für jedes enthaltene element, (wahrscheinlich PKWs) eine Überprüfung durchführt
Es wird also für jedes Element (i genannt) der Name bezogen (.getName()) und überprüft ob dieser die Bezeichnung enthält (contains(bezeichnung)).
So würde man mit der Suche nach Golf z.B. "Golf 3" oder "Golf GTI" finden.
Hat man also so ein Golf, also Bezeichner gefunden, so wird dieser dem am Anfang erstellten Vektor hinzugefügt mit kanidaten.add(fuhrpark.get(i));
Beachte es werden nicht nur die Bezeichnungen hinzugefügt, sondern ein ganzer PKW. Ja und dieser KandidatenVektor wird dann zurückgegeben.
PKW ist sicher noch irgendwo eine Klasse, die ein Auto beschreibt.
Mit PKW pkw1 = new PKW("Golf GTI");
Wird dann so ein neuer PKW erstellt, man nennt das dann Instanz oder Objekt der Klasse PKW.
vielen, vielen dank schonmal. jetzt wird mir einiges klarer.
eine frage habe ich allerdings noch. In dem Beispiel gibt es sowohl eine Klasse PKW als auch eine Unterklasse Cabrio, coupe, Kombi
jetzt erzeuge ich zum beispiel ein neues Cabrio mit der Bezeichnung Boxter. Wenn ich jetzt den fuhrpark nach "cabrios" durchsuche, dann wird der boxter ja nicht mit in den vektor kandidaten gesteckt, oder? die Bezeichnung boxter enthält ja nicht cabrio? wenn die bezeichnung z.b. Golf Cabrio wäre, würde die sache ja anders aussehen...
ah okay, ich glaube ich weiß jetzt warum bezeichnung. bezeichnung ist einmal die globale variable der klasse PKW die den konkreten Namen z.B. eben Boxter enthält und in dieser Methode eine lokale Variable, die eben beim Klassennamen hier. Z.b. cabrio überprüft, ob cabrio drinsteht.