Zerschmetterling
Date of registration: Aug 31st 2003
Location: Hannover
Occupation: Informatikstudent (d'uh)
Source code |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
public class Vehicle{ public enum BikeType{ RENNRAD, TANDEM,...; } public enum CarType{ KLEINWAGEN, MITTELKLASSE,...; } public [ENUM?] typGenerieren([ENUM?] abc){ int zufall; zufall = (int)(Math.random()*3) + 1; if (zufall == 1){ ... ------------------------------------------------ public class Bike{ public Bike(){ typGenerieren(Vehicle.BikeType.RENNRAD); } } |
Guru
Date of registration: Dec 11th 2001
Location: Hämelerwald
Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)
Ergänze Vehicle um eine als "static" deklarierte Methode getPossibleTypes(), die das jeweilige Enum-Objekt zurückliefert. Die Methode typGenerieren ruft dann intern this.getPossibleTypes() auf. Die Unterklassen Bike und Car überschreiben getPossibleTypes() dann entsprechend.Quoted
Original von hamena314
Vehicle, Bike und Car. Zuerst war in Bike und Car jeweils ein Enum mit einem Fahrzeugtypen (RENNRAD, TANDEM, ... , KLEINWAGEN, MITTELKLASSE, ...) und einer Methode typGenerieren().
Diese Methode weist im Konstruktor der Instanz per Zufall einen Typen zu.
Jetzt ist diese Methode allerdings quasi gleich in Bike und Car, lediglich die Enum-Werte ändern sich. Daher habe ich versucht, sowohl die Enums, als auch die Methode nach Vehicle auszulagern, damit ich sie zentral habe und mir den Mehrfachcode spare.
This post has been edited 1 times, last edit by "Joachim" (Jun 17th 2007, 5:54pm)
Hamster Inside(R)
Date of registration: Oct 3rd 2006
Location: Bad Oeynhausen
Occupation: Software-Entwickler bei Diamant Software
This post has been edited 3 times, last edit by "GentleGiant" (Jun 17th 2007, 8:14pm)