Nachträglich Erben

TheSchüler

Mitglied
Java:
public void method(){
  jpanel.add(new Bsp());
}
 
class Bsp extends JComponent{
  Bsp(){
    this extends JFrame;
  }
}
Wie oben skizziert würde ich gerne die Eigenschaften einer Klasse, die in der Hierarchie unterhalb der Ausgangsklasse steht, auf die Ausgangsklasse übertragen.
Funktioniert das überhaupt und falls ja gibt es ein Stichwort wodurch ich etwas über eine Vorgehensweise herausfinden kann?

Vielen Dank
 

Marco13

Top Contributor
So geht das erstmal nicht. In gewissen Grenzen(!) geht sowas ähnliches(!) vielleicht mit einem Decorator ? Wikipedia aber nicht so wie in dem Pseudocode angedeutet, und nicht mit "echtem" Vererben (extends) sondern bestenfalls mit Interfaces...
 

TheSchüler

Mitglied
Das bedeutet für mich, dass ich mein Vorhaben nur so realisieren kann, indem ich mehrere Klassen schreibe, die unterschiedlich erben aber ansonsten die gleichen Funktionen und Objekte haben.
Dann habe ich x mal den exakt gleichen Code stehen.
Finde ich zwar etwas unübersichtlich, aber falls es nicht anders funktioniert...
 

Eldorado

Bekanntes Mitglied
Sinn der Vererbung ist es ja, sich nach unten immer weiter zu spezialisieren. Das heißt wenn du viele Klassen hast, die ähnliches machen, dann schreibe doch eine Oberklasse die du noch allgemeiner hältst und die alles zulässt, was die spezialisierten Klassen können müssen. Dann leitest du von dieser Klasse die anderen Klassen ab und spezialisierst sie dort.
mfg
Eldorado
 

Landei

Top Contributor
Eventuell könntest du sowas Ähnliches mit einer Factory-Methode machen:

Java:
...
public static JComponent getComponent(String text, Color color) {
   JComponent comp = null;
   if (text.equals("true")) {
      comp = new JCheckBox(true); 
   } else if (text.equals("false")) {
      comp = new JCheckBox(false); 
   } else {
      comp = new JTextField(text);
   }
   //trotzdem können jetzt gemeinsame Eigenschaften initialisiert werden
   comp.setBackground(color);
   return comp;
}
...
 

Landei

Top Contributor
Und wie würde das damit gehen? ???:L ;)
Nur im übertragenen Sinne. Eine Factory-methode kann "je nach Lage" verschiedene Unterklassen zurückliefern. Ein Konstruktor ist für sowas definitiv der falsche Ort :)

(Originellerweise ist die Frage nicht ganz unernst gemeint ... Traits kommen dem doch schon recht nahe... )
Traits können zwar schön flexibel ineinandergestöpselt werden, aber auch nicht nachträglich, sondern nur bei der Objekterzeugung, so dass der Compiler den Typ kennt. Ich kann mir nicht vorstellen, dass das nach oder während der Objekterzeugung in irgendeiner eine statisch getypten Sprache geht.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Log4J (v2) nachträglich in allen Klassen hinzufügen Java Basics - Anfänger-Themen 9
C Nachträglich neue grafische Objekte hinzufügen Java Basics - Anfänger-Themen 7
P Wie Java-Plugin in Firefox (nachträglich) installieren? Java Basics - Anfänger-Themen 2
R Grafische Benutzeroberfläche GUI nachträglich einbauen Java Basics - Anfänger-Themen 3
M Objekt Name für MethodenAufruf nachträglich zuweisen? Java Basics - Anfänger-Themen 2
K Klassen Nachträglich ein Objekt einem anderen zuweisen, geht das? Java Basics - Anfänger-Themen 2
K Nachträglich auf Objekte zugreifen Java Basics - Anfänger-Themen 2
P Nachträglich Klasse zu Package hinzufügen Java Basics - Anfänger-Themen 16
IngoF wie kann man die Console nachträglich öffnen? Java Basics - Anfänger-Themen 6
B JPanel nachträglich verändern Java Basics - Anfänger-Themen 20
G Dateiname nachträglich mit endung versehen Java Basics - Anfänger-Themen 5
G JLabel nachträglich verändern, bzw. ImageIcon ändern? Java Basics - Anfänger-Themen 3
F Properties nachträglich hinzufügen Java Basics - Anfänger-Themen 3
V public nachträglich in public static umwandeln /JFormDesigne Java Basics - Anfänger-Themen 5
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
J final attribute erben Java Basics - Anfänger-Themen 2
M Unterklasse soll nicht alle Methoden erben Java Basics - Anfänger-Themen 3
L Vererbung "Erben" von 2 Klassen Java Basics - Anfänger-Themen 11
D Java intern Adminrechte erben Java Basics - Anfänger-Themen 2
E Problem mit erben von JButton Java Basics - Anfänger-Themen 7
N Objektorientierte Programmierung: Erben von 2 Klassen - wie ist korrekte Vorgehensweise? Java Basics - Anfänger-Themen 16
D Lieber von JFrame erben? Java Basics - Anfänger-Themen 28
L Rot Scharz Baum von Binärbaum erben Java Basics - Anfänger-Themen 9
H toString() erben? Java Basics - Anfänger-Themen 3
M Von String erben Java Basics - Anfänger-Themen 11
X Problem: Erben von einer abstrakten Klasse Java Basics - Anfänger-Themen 4
G Oberflächen: lieber von JFrame oder JPanel erben? Java Basics - Anfänger-Themen 3
D Programm will nicht erben Java Basics - Anfänger-Themen 6
S Vector erben Java Basics - Anfänger-Themen 12
T von ArrayList erben - Problem mit Generics Java Basics - Anfänger-Themen 2
frau-u Können Interfaces von Klassen erben? Java Basics - Anfänger-Themen 3
L will erben! Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben