Vererbung Java mehrfach

Sonnenblume123

Aktives Mitglied
Hallo,
ich hab folgende Aufgabe:
Erstellen Sie innere Klassen die die minimale Lösung der nachfolgenden Vererbungsbedingungen enthält. Eine minimale Lösung verwendet möglichst abstrakte Vererbungen.
Die Bedingungen sind:
1. Variablen jedes Typs können mit einem frisch allokierten Objekt initialisiert werden.
2. Alle Variablen können einer Variable vom Typ S zugewiesen werden.
3. P, Q und T sind Subtypen von R.
4. U und V sind keine Subtypen von R.
5. P, Q und V sind Subtypen von U, T jedoch nicht.
6. Q ist Subtyp von T.
7. R und T sind abstrakte Klassen.
8. Alle Objekte vom Typ V sind auch vom Typ M.
9. M ist ein Subtyp von V und implementiert kein Interface direkt.
10. Es gibt keine Subtypen von Q, K und M.
Hinweise Alle inneren Typen müssen public static sein, da ihre Abgabe sonst nicht bewertet werden kann. Außerdem können Ihre Klassen leere Rümpfe haben, da es hier nur um die Vererbung an sich geht. Sie dürfen keine privaten Konstruktoren definieren. Sie dürfen Klassen, abstrakte Klassen und Interfaces verwenden. Verwenden Sie keine Imports und produzieren Sie keine Ausgabe. Achten Sie auf exakte Groß-/Kleinschreibung. Verändern Sie nur den markierten Bereich. Die Bewertung erfolgt durch eine Main-Funktion in einer anderen Klasse.

Nun hab ich folgendes gemacht:
Code:
import java.lang.reflect.Modifier;

public class Subtypes {
   
    public static class K implements S{}
    public static class M extends V implements S{}
    public static class P extends R implements U, S{}
    public static class Q extends T implements U, S {}
    public static abstract class R implements S{}
    public static interface S{}
    public static abstract class T extends R implements S{}
    public static interface U extends S {}
    public static class V implements U, S{}
   
    // BEGIN Fügen Sie hier Ihre Typdefinitionen ein
    // public static ... {}

    // END Fügen Sie hier Ihre Typdefinitionen ein
}

Jedoch funktioniert mein Programm nicht, wenn ich es mit der bereitgestellten Testklasse prüfe....
Kann mir da jemand helfen?

Code:
import java.lang.reflect.Modifier;


public class SubtypesTest {

    public static void main(String[] args) {
        // run with -ea !
        try {
            assert false;
            System.err.println("Assertions disabled! Some errors will not be detected!");
        } catch (AssertionError u) {
            // assertions are enabled
        }

        // Aufgabenbedingungen
        // Anm.: hier sind nicht alle Bedingungen abgebildet, da sie sich z.T.
        // nicht direkt prüfen lassen

        Subtypes.K k = null;
        Subtypes.M m = null;
        Subtypes.P p = null;
        Subtypes.Q q = null;
        Subtypes.R r = null;
        Subtypes.T t = null;
        Subtypes.U u = null;
        Subtypes.V v = null;
        Subtypes.S s = null;

        // 1. (kein Code)

        // 2.
        s = k;
        s = m;
        s = p;
        s = q;
        s = r;
        s = t;
        s = u;
        s = v;

        // 3.
        r = p;
        r = q;
        r = t;

        // 4.
        assert !Subtypes.R.class.isAssignableFrom(Subtypes.U.class);
        assert !Subtypes.R.class.isAssignableFrom(Subtypes.V.class);

        // 5.
        u = p;
        u = q;
        u = v;
        assert !Subtypes.U.class.isAssignableFrom(Subtypes.T.class);

        // 6.
        t = q;

        // 7.
        assert 0 != (Subtypes.R.class.getModifiers() & Modifier.ABSTRACT);
        assert 0 != (Subtypes.T.class.getModifiers() & Modifier.ABSTRACT);

        // 8. (kein Code)

        // 9.
        v = m;
        assert 0 == Subtypes.M.class.getInterfaces().length;

        // 10. (kein Code)
    }
}
 

Sonnenblume123

Aktives Mitglied
Ah vielen Dank! Mal eine Frage:
Ich hab ein AssertionError in Zeile 67 also in dieser:
Code:
assert 0 == Subtypes.M.class.getInterfaces().length;
Das liegt ja daran, dass M S implementiert und das den Bedingungen widerspricht. Wie können sonst alle Variablen einer Variable vom Typ S zugewiesen werden?
 

Sonnenblume123

Aktives Mitglied
Selbst wenn ich M so definiere:
Code:
public static class M extends V{}
Klappt es nicht, sondern:
Exception in thread "main" java.lang.AssertionError
at SubtypesTest.main(SubtypesTest.java:67)
 

mihe7

Top Contributor
Java:
public class Test {
    public static interface S {}
    public static class X implements S {}
    public static class Y extends X {};

    public static void main(String[] args) {
        System.out.println(Y.class.getInterfaces().length);
        System.out.println(X.class.getInterfaces().length);
    }
}
Ausgabe:
0
1

UPDATE: sorry, habe Deinen Beitrag überlesen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Java- Vererbung Java Basics - Anfänger-Themen 4
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
G Java Vererbung Java Basics - Anfänger-Themen 8
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
J Java: static bei Vererbung Java Basics - Anfänger-Themen 5
R Vererbung in java Java Basics - Anfänger-Themen 4
J Diverse Frag zu Vererbung innerhalb von Java Java Basics - Anfänger-Themen 6
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
M Vererbung - Polymorphie Java Basics - Anfänger-Themen 37
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 12
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 1
I JSON / XML Struktur mit Vererbung / Interfaces Java Basics - Anfänger-Themen 0
M Interface oder Vererbung? Java Basics - Anfänger-Themen 12
M Vererbung Java Basics - Anfänger-Themen 6
M Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
M Generics Vererbung Listen Java Basics - Anfänger-Themen 2
A Methoden Vererbung und Interface Java Basics - Anfänger-Themen 14
D Klassen und Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Java Basics - Anfänger-Themen 7
D Vererbung Java Basics - Anfänger-Themen 3
K Schleife berechnet kein Ergebnis (Vererbung) Java Basics - Anfänger-Themen 6
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
W Zur Vererbung: Wann und wie? Java Basics - Anfänger-Themen 35
H Datenkapselung, Vererbung und UML Java Basics - Anfänger-Themen 16
districon Super-Stichwort/ Vererbung Java Basics - Anfänger-Themen 3
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
1 Vererbung Klassenattribute Java Basics - Anfänger-Themen 9
N Thema Vererbung Java Basics - Anfänger-Themen 31
A Vererbung Vererbung Übung Java Basics - Anfänger-Themen 5
B Vererbung - Sichtbarkeitsmodifikation - protected Java Basics - Anfänger-Themen 10
B Best Practice Unschlüssig ob Vererbung oder Interface Java Basics - Anfänger-Themen 2
Y Vererbung Konto - Anfangsprobleme Java Basics - Anfänger-Themen 7
A Vererbung Klassen im Bezug auf Auto´s Java Basics - Anfänger-Themen 18
A Klassen Vererbung und zusätzliche Unterklassen Java Basics - Anfänger-Themen 23
M Vererbung mit Enums Java Basics - Anfänger-Themen 8
Kirby.exe Vererbung im Detail erklärt? Java Basics - Anfänger-Themen 9
N Modellierung, vererbung, Java Basics - Anfänger-Themen 163
M Fehlendes Verständnis für dynamische Bindung und Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung im Computerspiel Java Basics - Anfänger-Themen 7
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
I Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung und Problem bei Zählschleife in einer Methode Java Basics - Anfänger-Themen 10
W Methoden Verständnisfrage Vererbung von Methoden Java Basics - Anfänger-Themen 14
V Vererbung Java Basics - Anfänger-Themen 2
J Frage zur Vererbung Java Basics - Anfänger-Themen 1
J Vererbung Java Basics - Anfänger-Themen 3
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
O Vererbung Ueben mit kleiner Datenstruktur von Räumen Java Basics - Anfänger-Themen 10
O Umgang mit Vererbung verstehen Java Basics - Anfänger-Themen 4
A Vererbung/Interfaces/Generics Java Basics - Anfänger-Themen 12
O Vererbung änderung des Konstruktors Java Basics - Anfänger-Themen 8
L Vererbung Java Basics - Anfänger-Themen 5
E HashMap+Vererbung Java Basics - Anfänger-Themen 11
E Vererbung super-Methoden Aufruf Java Basics - Anfänger-Themen 3
A Objekterstellung bei der Vererbung Java Basics - Anfänger-Themen 7
P Vererbung Warum funktioniert die Vererbung hier nicht Java Basics - Anfänger-Themen 14
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
A Klassen Vererbung privater Methoden und Member Java Basics - Anfänger-Themen 12
A Konstruktoren Vererbung Java Basics - Anfänger-Themen 3
ReinerCoder Vererbung von JFrame in einer Klasse entfernen Java Basics - Anfänger-Themen 5
W Vererbung, abstract und Konstruktoren Java Basics - Anfänger-Themen 30
J Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 11
G Polymorphie, Vererbung, statischer Typ, Laufzeittyp Java Basics - Anfänger-Themen 2
H Vererbung mit private instanzvariablen Java Basics - Anfänger-Themen 9
S Vererbung Funktionsweise Code zur Vererbung Java Basics - Anfänger-Themen 1
C Methoden Vererbung private Attribute/public Methoden Java Basics - Anfänger-Themen 4
S Verständnis Vererbung Java Basics - Anfänger-Themen 3
D JavaFX Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Generizität und Vererbung Java Basics - Anfänger-Themen 4
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
K Vererbung Octagon von Circle Java Basics - Anfänger-Themen 0
B Hilfe bei Vererbung Java Basics - Anfänger-Themen 2
D Vererbung Frage zum Klassenaufbau mit Vererbung Java Basics - Anfänger-Themen 1
T Vererbung und interface. Java Basics - Anfänger-Themen 1
S Gehaltsberechnung (Vererbung, abstrakte Methoden) Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 1
F Vererbung in zwei Richtungen? Java Basics - Anfänger-Themen 14
D Vererbung / Polymorphie Java Basics - Anfänger-Themen 5
O Vererbung Java Basics - Anfänger-Themen 5
MiMa Vererbung Theorie OK, Praxis ?? Java Basics - Anfänger-Themen 4
Arif Vererbung Vererbung Variablen überschreiben Java Basics - Anfänger-Themen 1
C Vererbung - Ausgaben bestimmen Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 10
L Setter und Getter/Vererbung Java Basics - Anfänger-Themen 6
C Konstruktoren und Vererbung Java Basics - Anfänger-Themen 2
J Kleinere Frage zur Vererbung/Objekterzeugung Java Basics - Anfänger-Themen 2
G Vererbung Java Basics - Anfänger-Themen 12
J Vererbung privater Variablen Java Basics - Anfänger-Themen 7
J Vererbung Vererbung von Methoden Java Basics - Anfänger-Themen 6
B Vererbung Java Basics - Anfänger-Themen 12
K Vererbung (super) Java Basics - Anfänger-Themen 2
A ArrayQueue mit Exceptions und Vererbung Java Basics - Anfänger-Themen 3
C Vererbung Java Basics - Anfänger-Themen 4
L Vererbung Java Basics - Anfänger-Themen 3
J Klassenorganisation | Vererbung Java Basics - Anfänger-Themen 1
B Vererbung Vererbung Java Basics - Anfänger-Themen 2
N Generics Vererbung Wildcard Interface Java Basics - Anfänger-Themen 8
A Benötige Hilfe bei Vererbung Java Basics - Anfänger-Themen 1
M Anfängerprobleme mit Vererbung Java Basics - Anfänger-Themen 27
J Vererbung Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben