Salvete!
Ich habe da circa 5 selbständige .Java Klassen, welche einen sehr großen redundanten Anteil an Code haben. Daher kam mir die Idee - wieso nicht zusammen fassen, was gleich ist und abstrahieren, was unterschiedlich ist. Also das typische - eine Oberklasse plus 5 Kindklassen... und in der Oberklasse zusammenfassen...
Die Idee ist folgende.
Eine .Java Klassendatei mit der Oberklasse und innerhalb dieser Klassendatei dann auch die Kindklassen. Denkste - darf ich nicht. Nur, wenn ich die Elternklasse auf public stelle und die Kindklassen den Modifizierer weg lasse...
Wenn ich jetzt in einer anderen .Java Klassendatei (gleiches Package) mittels Object auf eine der Kindklassen instanziieren will - geht das dann denn? Die Kindklassen sind ja nicht public - oder?! Ich könnte jetzt natürlich so verfahren, dass ich die Oberklasse in eine .Java und die Kindklassen auch jeweils in eine .Java stecke.... aber dann bleibt es dennoch etwas unübersichtlich. Ich würde gerne die Eltern/Kindklassen in eine .Java stecken und dann in anderen .Java Klassendateien mittels Objekte darauf zugreifen.
Geht? Blödsinn? Mach es anders?
Ich frage vorab - da ich da einiges umbauen muss und die Arbeit nicht umsonst machen will wenn ich jetzt anfange. Danke für Eure sachdienliche Hilfe schon mal vorab...
Ich habe da circa 5 selbständige .Java Klassen, welche einen sehr großen redundanten Anteil an Code haben. Daher kam mir die Idee - wieso nicht zusammen fassen, was gleich ist und abstrahieren, was unterschiedlich ist. Also das typische - eine Oberklasse plus 5 Kindklassen... und in der Oberklasse zusammenfassen...
Die Idee ist folgende.
Eine .Java Klassendatei mit der Oberklasse und innerhalb dieser Klassendatei dann auch die Kindklassen. Denkste - darf ich nicht. Nur, wenn ich die Elternklasse auf public stelle und die Kindklassen den Modifizierer weg lasse...
Code:
public class Oberklasse
...
...
class KindklasseA extends Oberklasse
...
...
class KindklasseB extends Oberklasse
...
...
Wenn ich jetzt in einer anderen .Java Klassendatei (gleiches Package) mittels Object auf eine der Kindklassen instanziieren will - geht das dann denn? Die Kindklassen sind ja nicht public - oder?! Ich könnte jetzt natürlich so verfahren, dass ich die Oberklasse in eine .Java und die Kindklassen auch jeweils in eine .Java stecke.... aber dann bleibt es dennoch etwas unübersichtlich. Ich würde gerne die Eltern/Kindklassen in eine .Java stecken und dann in anderen .Java Klassendateien mittels Objekte darauf zugreifen.
Geht? Blödsinn? Mach es anders?
Ich frage vorab - da ich da einiges umbauen muss und die Arbeit nicht umsonst machen will wenn ich jetzt anfange. Danke für Eure sachdienliche Hilfe schon mal vorab...