OOP Klassenimport "vererben"

T

Tuxifant

Gast
Hallo,

ich habe mehrere Klassen, die wie im Diagramm (Link s.u.) in Beziehung zueinander stehen. Der linke und der rechte Baum befinden sich in unterschiedlichen Packages.
Auf der linken Seite wird ein neuer Datentyp erstellt. Die Hierarchie ist in diesem vereinfachten Bsp natürlich nicht notwendig, mein ganzes Programm ist da etwas komplexer. Rechts werden Klassen abgebildet, die nur auf der untersten Ebene (hier: SubClass2) Attribute und Methoden besitzen.
Nun möchte ich, dass att2 nur die Werte Lit1 oder Lit2 annehmen kann. Ich setze den Typ also auf package1.UpperType. Die Alternative dazu wäre ein import package1.* in der Klasse SubClass2, damit ich die Kurzschreibweise "UpperType" verwenden kann. Allerdings müsste ich das in allen Klassen auf Ebene von SubClass2 einfügen.

Geht das auch "eleganter"? Ein Import in der UpperClass wird nicht einfach auf deren Unterklassen vererbt.

Gruß Tuxifant

attachment.php
 

Anhänge

  • classdiagramo.jpg
    classdiagramo.jpg
    35,8 KB · Aufrufe: 59
Zuletzt bearbeitet von einem Moderator:
T

Tuxifant

Gast
Eine Idee wäre die Umsetzung mit geschachtelten Klassen:
Java:
public class UpperClass {
  import package1.*;

  public class SubClass1 {

    public class SubClass2 {
      private UpperType att2;
      // set- + get-Methode
    }
  }
}

Da UpperClass und SubClass1 selbst weder Variablen noch Methoden beinhalten, sondern nur der Strukturierung dienen, sollte es doch damit keine Probleme geben?

Gruß Tuxifant
 

fastjack

Top Contributor
Mehrere public-Klassen ineinander zu schachteln finde ich persönlich sehr unschön. Die Faustregel ist eigentlich ein public-Klasse pro Datei. Die Importe musst Du allerdings in jeder Klasse machen, die werden nicht vererbt. Das stört auch eigentlich nicht, zumal der * ja alles aus dem Paket importiert und IDE's normalerweise mehrere Importzeilen wegblenden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Fiedelbambu Vererbung JTabbedPane vererben in der MainView Java Basics - Anfänger-Themen 0
M Vererbung Enums vererben Java Basics - Anfänger-Themen 1
T Objekte in Listen vererben Java Basics - Anfänger-Themen 3
C Klassendesign / Wann Interface implementieren und wann Klassen vererben? Java Basics - Anfänger-Themen 3
B static individuell "vererben"? Java Basics - Anfänger-Themen 8
M Vererben von Superklasse ohne Konstruktor Java Basics - Anfänger-Themen 9
B Datentypen Enum vererben/gruppieren? Java Basics - Anfänger-Themen 6
B Vererbung Designproblem beim Vererben Java Basics - Anfänger-Themen 3
U Vererben von Singleton Java Basics - Anfänger-Themen 17
Luk10 Vererben großer Interface-Methoden Java Basics - Anfänger-Themen 13
V OOP Statische Klassen-Attribute vererben Java Basics - Anfänger-Themen 4
M OOP GUI - Fenster vererben? Java Basics - Anfänger-Themen 9
K Methode vererben bei überschriebenem Konstruktor? Java Basics - Anfänger-Themen 14
C Liste mit Attribut Abstract vererben Java Basics - Anfänger-Themen 11
A Statische Methode "vererben" - Zwang durch annotation processor Java Basics - Anfänger-Themen 10
Luk10 Vererben von private instanzvariablen Java Basics - Anfänger-Themen 20
T enum-Methoden "vererben" Java Basics - Anfänger-Themen 11
J Probleme beim Vererben Java Basics - Anfänger-Themen 2
Y Vererben - Konstruktoren Java Basics - Anfänger-Themen 2
P Attribute Vererben Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben