Abstrakte Typen und Schnittstellen

Louis12

Aktives Mitglied
Hallo Java Community,
könnt ihr mir bitte Helfen ?
Im Enum Priority, habe ich folgende Konstanten hinzugefügt:
STANDARD, EXPRESS, EARLY_MORNING, EVENING

Im Enum TransportService habe ich folgende Konatanten hinzugefügt: TRANSPORT_INSURANCE, REDIRECTION, PREFERRED_DAY, CASH_ON_DELIVERY

Und zwar geht es um folgende Aufgabe.

Letter: Implementieren Sie alle geforderten Methoden.

Bei einem Brief soll eine nachträgliche Änderung des Empfängers nicht möglich sein, die entsprechende Methode soll die Lieferung also nie verändern und stets false zurückgeben.

Fügen Sie außerdem einen zusätzlichen Konstruktor ein, bei dem zusätzlich eine Priorität übergeben werden kann.

Versuchen Sie durch geschickte Aufrufe so wenig Quelltext wie möglich zu duplizieren.

Der bisherige Konstruktor soll Briefe mit Standardpriorität erzeugen.


Ich habe es folgender maßen versucht.
Code:
ackage de.tuberlin.mcc.prog1.logistics.deliveries;

import Prog1Tools.IOTools;
import de.tuberlin.mcc.prog1.logistics.DeliveryManager;
import de.tuberlin.mcc.prog1.logistics.Location;
import de.tuberlin.mcc.prog1.logistics.utils.Priority;

public class Letter extends Delivery { // Ich glaube hier fehlen noch die implemtierten Methoden

    private final boolean registeredLetter;
  
    /**
     * Creates Letter
     * @param sender - sender of letter
     * @param receiver - receiver of letter
     * @param weight - weight of letter
     * @param registeredLetter - true, if registered
     * @param priority die Priorität vom Brief
     */
    public Letter(Location sender, Location receiver, double weight, boolean registeredLetter, Priority priority) {
        super(sender, receiver, weight, priority.STANDARD);
        this.registeredLetter = registeredLetter;
      
        if (weight < 0.2) {
            postage = 70;
        } else {
            if (weight < 0.5) {
                postage = 200;
            } else {
                postage = 400;
            }
        }
        if (registeredLetter) {
            postage += 300;
        }
    }
  
    @Override
    public String toString() {
        String result = "Letter " + super.toString() + ", " + postage + "ct postage";
        if (registeredLetter) {
            result += ", registered letter";
        }
        return result;
    }
  
    /**
     * Creates Letter from user input
     * @return created letter or null (invalid parameters)
     */
    public static Letter createLetterFromUserInput() {
        System.out.println("Creating new letter...");
        int sender = IOTools.readInt("LocationID of sender:");
        int receiver = IOTools.readInt("LocationID of receiver:");
        double weight = IOTools.readDouble("Weight of letter:");
        boolean registered = IOTools.readBoolean("Registered letter?:");
        Location loc_sender = DeliveryManager.getLocationById(sender);
        Location  loc_receiver = DeliveryManager.getLocationById(receiver);
      
          
        if (loc_sender != null && loc_receiver != null && weight >= 0) {
            return new Letter(loc_sender, loc_receiver, weight, registered); // Complier Fehlr :/


          
        }
        while(loc_receiver != loc_receiver ) { //
            return false;
        }
      
        return null;
    }
  
    /**
     * Returns true if letter is a registered letter
     * @return true if letter is a registered letter
     */
    public boolean isRegisteredLetter() {
        return registeredLetter;
    }
}



lG
Louis
 

Louis12

Aktives Mitglied


Bei einem Brief soll eine nachträgliche Änderung des Empfängers nicht möglich sein, die entsprechende Methode soll die Lieferung also nie verändern und stets false zurückgeben.


wie schaffe ich es , dass die Methode weiß was Receiver ist, wenn sie sich ausserhalb der Methode createLetterFromUserInput() befindet ?

Angenommen ich hätte diese Methode, wäre dieser Ansatz generell falsch ?
Code:
public static boolean Recieverinputnichtändern(){
while(loc_receiver != loc_receiver ) {
            return false;
        }
}
wenn nein, bitte Tipps um weiter anzusetzen bzw. fortzugehen.
wenn ja, bitte sagen ebnfalls Tipps geben.


ist das richtig um den Brief als Standartpriorität zu erzeugen
Code:
public Letter(Location sender, Location receiver, double weight, boolean registeredLetter, Priority priority) {
        super(sender, receiver, weight, priority.STANDARD);
        this.registeredLetter = registeredLetter;

also das ich einfach priority.STANDARD schreiben kann
 
Zuletzt bearbeitet von einem Moderator:

Javinner

Top Contributor
Java:
public class RacingPigeon
{

    public static void main(String[] args)
    {
        Package letter = new Package(); //Default
        System.out.println(letter.getValue());
       
        Package fastAndBetterServiceLetter = new Package(Priority.EXPRESS, Service.SILVER);
        System.out.println(fastAndBetterServiceLetter.getValue());
       
        Package fastAndBestServiceLetter = new Package(Priority.EXPRESS, Service.GOLD);
        System.out.println(fastAndBestServiceLetter.getValue());
       
    }
   
}

public class Package
{

    private final Priority priority;
    private final Service service;

    public Package()
    {
        this.priority = PriorityFactory.getDefaultPriority();
        this.service = ServiceFactory.getDefaultService();
    }

    public Package(Priority priority, Service service)
    {
        this.priority = priority;
        this.service = service;
    }

    public int getValue()
    {
        return (this.priority.getImportance() + this.service.getValue());
    }

}

/** Output */
2
4
5
 

mrBrown

Super-Moderator
Mitarbeiter
ist das richtig um den Brief als Standartpriorität zu erzeugen
Code:
public Letter(Location sender, Location receiver, double weight, boolean registeredLetter, Priority priority) {
        super(sender, receiver, weight, priority.STANDARD);
        this.registeredLetter = registeredLetter;

also das ich einfach priority.STANDARD schreiben kann

Nein, du willst nicht auf etwas des Parameters priority zugreifen, sondern auf den enum Priority.STANDARD.
Den Parameter verwirfst du da btw grad, das dürfe falsch sein.
 

mihe7

Top Contributor
Bei einem Brief soll eine nachträgliche Änderung des Empfängers nicht möglich sein, die entsprechende Methode soll die Lieferung also nie verändern und stets false zurückgeben.
Wenn Du in Deine Delivery-Klasse schaust, hast Du vermutlich eine Methode der Form "boolean setReceiver(Location receiver)". Die wird von Letter geerbt, würde also den Empfänger ändern. Da das bei einem Letter-Objekt nicht mehr möglich sein soll, überschreibst Du die Methode und gibst einfach false zurück.
 

mihe7

Top Contributor
Ach, und was die Konstruktoren betrifft: Du hast einmal einen Konstruktor ohne Priority-Parameter und einmal mit. Wird ein Letter-Objekt erzeugt, kann man also aussuchen, ob man eine Priorität angibt. Falls ja, soll natürlich die angegebene Priorität verwendet werden, falls nein, soll die Standard-Priorität gesetzt werden.
 

Louis12

Aktives Mitglied
Hallo Leute,
Erstmal danke für alle Antworten :), dadurch bin ich auf jeden Fall weiter. Ich habe herumprobiert und würde mich freuen wenn ihr meine Fragen beantworten könnt:



Wenn Du in Deine Delivery-Klasse schaust, hast Du vermutlich eine Methode der Form "boolean setReceiver(Location receiver)". Die wird von Letter geerbt, würde also den Empfänger ändern. Da das bei einem Letter-Objekt nicht mehr möglich sein soll, überschreibst Du die Methode und gibst einfach false zurück.

Dank der Beschreibung ist es denke ich gut gelaufen .

Ach, und was die Konstruktoren betrifft: Du hast einmal einen Konstruktor ohne Priority-Parameter und einmal mit. Wird ein Letter-Objekt erzeugt, kann man also aussuchen, ob man eine Priorität angibt. Falls ja, soll natürlich die angegebene Priorität verwendet werden, falls nein, soll die Standard-Priorität gesetzt werden.

Folgenden Code habe ich herausbekommen und zwar habe ich in der Klasse Delivery einen zweiten Konstruktor hinzugefügt, damit es keinen Compiler Fehler gibt. Die Frage: Muss man das?

Code:
protected Delivery(Location sender, Location receiver, double weight, Priority priority) {
        this.sender = sender;
        this.receiver = receiver;
        this.date = System.currentTimeMillis();
        this.weight = weight;
    }
  
  
    protected Delivery(Location sender, Location receiver, double weight) {
        this.sender = sender;
        this.receiver = receiver;
        this.date = System.currentTimeMillis();
        this.weight = weight;
    }

und in der Klasse Letter habe ich ebenfalls einen zweiten Konstruktor hinzugefügt mit switch case .Frage: wo muss das switch Case hin (im der emun klasse oder wo, und wie schaffe ich es ein Enum hier zu übergeben ?

Der Erste
Code:
public Letter(Location sender, Location receiver, double weight, boolean registeredLetter) {
        super(sender, receiver, weight);
        this.registeredLetter = registeredLetter;
       
       
        if (weight < 0.2) {
            postage = 70;
        } else {
            if (weight < 0.5) {
                postage = 200;
            } else {
                postage = 400;
            }
        }
        if (registeredLetter) {
            postage += 300;
        }


Der Zweite Konstruktor

Code:
public Letter(Location sender, Location receiver, double weight, boolean registeredLetter,Priority priority) {
        /*super(sender, receiver, weight, priority);
        this.registeredLetter = registeredLetter; */
      
        this(sender,receiver,weight,registeredLetter);
        //String    briefprio = IOTools.readString("Bitte geben sie die Priorität an");  
  
        switch(priority) {
      
        case "Express": priority= priority.EXPRESS;break;
        case "Early Morning": priority= priority.EARLY_MORNING;break;
        case "Evening": priority= priority.EVENING;break;
        default: priority = priority.STANDARD;break;
        {  
        }

Hier habe ich das folgendermaßen ergäntzt. Frage: Wie kann ich es hier übergeben also die Priorität in Kombi mit dem Konsstruktor?
Code:
public static Letter createLetterFromUserInput() {
        System.out.println("Creating new letter...");
        int sender = IOTools.readInt("LocationID of sender:");
        int receiver = IOTools.readInt("LocationID of receiver:");
        double weight = IOTools.readDouble("Weight of letter:");
        boolean registered = IOTools.readBoolean("Registered letter?:");
        String    priority = IOTools.readString("Bitte geben sie die Priorität an");
        Location loc_sender = DeliveryManager.getLocationById(sender);
        Location  loc_receiver = DeliveryManager.getLocationById(receiver);
      //  Priority [] prioritäten = Priority.class.getEnumConstants();
        System.out.println(prioritäten[0]);
          
        if (loc_sender != null && loc_receiver != null && weight >= 0) {
            return new Letter(loc_sender, loc_receiver, weight, registered);
          
        }
      
      
        return null;
    }



lG
Louis
 

temi

Top Contributor
Folgenden Code habe ich herausbekommen und zwar habe ich in der Klasse Delivery einen zweiten Konstruktor hinzugefügt, damit es keinen Compiler Fehler gibt. Die Frage: Muss man das?

Java:
protected Delivery(Location sender, Location receiver, double weight, Priority priority) {
        this.sender = sender;
        this.receiver = receiver;
        this.date = System.currentTimeMillis();
        this.weight = weight;
    }
 
 
    protected Delivery(Location sender, Location receiver, double weight) {
        this.sender = sender;
        this.receiver = receiver;
        this.date = System.currentTimeMillis();
        this.weight = weight;
    }

Wenn du Instanzen einer Klasse mit unterschiedlichen (Anzahl oder Typ) Parametern erzeugen möchtest, dann ist das der richtige Weg. Allerdings:

Du ignorierst zumindest im ersten Konstruktor den Parameter "priority", damit ist er überflüssig (das gilt natürlich auch für den zweiten Konstruktor, insofern du eine Standard-Priorität vorgeben möchtest.

Um Wiederholungen zu vermeiden kannst du innerhalb eines Konstruktors einen anderen Konstruktor aufrufen:
Java:
protected Delivery(Location sender, Location receiver, double weight, Priority priority) {
        this.sender = sender;
        this.receiver = receiver;
        this.date = System.currentTimeMillis();
        this.weight = weight;
        // priority???
    }
 
protected Delivery(Location sender, Location receiver, double weight) {
        this(sender, receiver, weight, Priority.STANDARD);
    }
 

mihe7

Top Contributor
Folgenden Code habe ich herausbekommen und zwar habe ich in der Klasse Delivery einen zweiten Konstruktor hinzugefügt, damit es keinen Compiler Fehler gibt. Die Frage: Muss man das?
Nein. Du willst nicht Delivery um die Priorität erweitern sondern Letter. Funktioniert also genauso wie mit registeredLetter.

und in der Klasse Letter habe ich ebenfalls einen zweiten Konstruktor hinzugefügt
Das ist richtig.

wo muss das switch Case hin (im der emun klasse oder wo, und wie schaffe ich es ein Enum hier zu übergeben ?
Du brauchst überhaupt kein switch. Der übergebene Parameter ist entweder eine null-Referenz oder referenziert ein Objekt vom Typ Priority.

Was Du tun willst, wenn priority==null gilt, bleibt Dir überlassen (sofern in der Aufgabenstellung nichts dazu steht). Du kannst z. B. eine IllegalArgumentException werfen oder die Standard-Priorität setzen.

Java:
    public Letter(Location sender, Location receiver, double weight, boolean registeredLetter, Priority priority) {
        super(sender, receiver, weight);
        if (priority != null) {
            this.priority = priority;
        } else {
            this.priority = Priority.STANDARD;
            // oder z. B. throw new IllegalArgumentException("priority is mandatory");
        }
        // bzw. kurz:
        // this.priority = priority != null ? priority : Priority.STANDARD;

        this.registeredLetter = registeredLetter;    
       
        if (weight < 0.2) {
            postage = 70;
        } else {
            if (weight < 0.5) {
                postage = 200;
            } else {
                postage = 400;
            }
        }
        if (registeredLetter) {
            postage += 300;
        }
    }

Den Konstruktor ohne Priority kannst Du nun in der Form umschreiben, wie es @temi gezeigt hat:
Java:
    public Letter(Location sender, Location receiver, double weight, boolean registeredLetter) {
        this(sender, receiver, weight, registeredLetter, Priority.STANDARD);
    }
 

Louis12

Aktives Mitglied
Hallo ,
Erstmal danke für die Antworten :). Ich habe es umgesetzt wie beschrieben, habe leider trotzdem einen Compilerfehler und diesbezüglich Fragen.

Java:
protected Delivery(Location sender, Location receiver, double weight, Priority priority) {
        this.sender = sender;
        this.receiver = receiver;
        this.date = System.currentTimeMillis();
        this.weight = weight;
        // priority???
    }

Das soll heißen das ich this.priority = priority; ergänzen soll ?

Java:
public Letter(Location sender, Location receiver, double weight, boolean registeredLetter, Priority priority) {
        super(sender, receiver, weight);
        if (priority != null) {
            this.priority = priority;
        } else {
            this.priority = Priority.STANDARD;
            // oder z. B. throw new IllegalArgumentException("priority is mandatory");
        }
        // bzw. kurz:
        // this.priority = priority != null ? priority : Priority.STANDARD;

        this.registeredLetter = registeredLetter; 
    
        if (weight < 0.2) {
            postage = 70;
        } else {
            if (weight < 0.5) {
                postage = 200;
            } else {
                postage = 400;
            }
        }
        if (registeredLetter) {
            postage += 300;
        }
    }
bei super(sender, receiver, weight); habe ich den Compiler und habe es nicht geschafft den wegzubekommen :/.
als ich die möglichen Optionen angewendet habe (Über den Cursor) bekomme den Compiler fehler an der Stelle.

Java:
public Letter(Location sender, Location receiver, double weight, boolean registeredLetter, Priority priority)



und ich habe die Instanzvariable priority auf protectet gesetzt in der Klasse Delivery anders könnte man ja nicht wie bei registedLetter die Variable erweitern( Frgae: ist das Richtig).


Ich würde mich wieder auf eure Antworten freuen :)

lG
Louis
 

mihe7

Top Contributor
In Delivery hast Du folgenden Konstruktor:
Java:
    protected Delivery(Location sender, Location receiver, double weight) {
        this.sender = sender;
        this.receiver = receiver;
        this.date = System.currentTimeMillis();
        this.weight = weight;
    }

In Letter die beiden von mir oben genannten. Das wars.
 

Louis12

Aktives Mitglied
In Delivery hast Du folgenden Konstruktor:
Java:
    protected Delivery(Location sender, Location receiver, double weight) {
        this.sender = sender;
        this.receiver = receiver;
        this.date = System.currentTimeMillis();
        this.weight = weight;
    }

In Letter die beiden von mir oben genannten. Das wars.

Danke hat funktioniert !
 

Louis12

Aktives Mitglied
Hallo,
Nun bin ich an einer Aufgabe gestoßen, wo ich nicht genau weiß, ob alles was ich gecodet habe, auch der Aufgabenstellung entspricht bzw. etwas fehlt oder nicht stimmt, deswegen würde ich mich wieder freuen, wenn ihr mir meine Fragen beantworten könntet .

Folgende Aufgabenstellung

Parcel
Statt in einem Array werden die zusätzlichen Transportdienste nun im Konstruktor als Varargs übergeben und in der Instanzvariable services gespeichert.

Implementieren Sie, wie bereits in der Klasse Letter realisiert, einen zusätzlichen Konstruktor, bei dem auch eine Priorität übergeben werden kann.

Implementieren Sie anschließend die Methode isTransportService, welche überprüft, ob ein gegebener Dienst gebucht wurde oder nicht.

Implementieren Sie letztlich alle restlichen geforderten Methoden.
Ein Empfänger eines Pakets soll nur geändert werden, wenn der entsprechende Dienst gebucht wurde (nutzen Sie für diese Überprüfung die Methode isTransportService).

Wurde der Empfänger verändert, soll true zurückgegeben werden, false andernfalls


Statt in einem Array werden die zusätzlichen Transportdienste nun im Konstruktor als Varargs übergeben und in der Instanzvariable services gespeichert.

Also hier muss man nicht mehr diesbezüglich ergänzen?

Code:
public Parcel(Location sender, Location receiver, double weight, int[] size, TransportService... services) {
        super(sender, receiver, weight);
        this.services = services;
        int len = size[0] + size[1] + size[2];
        int vol = size[0] * size[1] * size[2];
       
        if (weight < 1 && len <= 80) {
            category = 'S';
            postage = 300;
        } else {
            if (weight < 4 && vol <= 64000) {
                category = 'M';
                postage = 500;
            } else {
                category = 'L';
                postage = 700;
            }
        }
       
        if (isTransportService(TransportService.PREFERRED_DAY)) {
            postage += 500;
        }
        if (isTransportService(TransportService.TRANSPORT_INSURANCE)) {
            postage += 600;
        }
        if (isTransportService(TransportService.REDIRECTION)) {
            postage += 700;
        }
        if (isTransportService(TransportService.CASH_ON_DELIVERY)) {
            postage += 800;
        }
    }

Implementieren Sie, wie bereits in der Klasse Letter realisiert, einen zusätzlichen Konstruktor, bei dem auch eine Priorität übergeben werden kann.
Ist das Richtig, wenn nein bitte sagen warum ?

Code:
public Parcel(Location sender, Location receiver, double weight,Priority priority, int[] size,TransportService... services) {
    this(sender,receiver,weight,size,services);
    if (priority != null) {
        this.priority = priority;
    } else {
        this.priority = Priority.STANDARD;


Implementieren Sie anschließend die Methode isTransportService, welche überprüft, ob ein gegebener Dienst gebucht wurde oder nicht.
so in etwa ?
Code:
    public boolean isTransportService(TransportService service) {


Implementieren Sie letztlich alle restlichen geforderten Methoden.
Ein Empfänger eines Pakets soll nur geändert werden, wenn der entsprechende Dienst gebucht wurde (nutzen Sie für diese Überprüfung die Methode isTransportService).

Wurde der Empfänger verändert, soll true zurückgegeben werden, false andernfalls

Ist das Anstatzweise Richtig, wenn nein Bitte Grund nennen.

Code:
public boolean isTransportService(TransportService service) {
        //To implement
       
        switch(service) {
       
        case TRANSPORT_INSURANCE : return true;
        case REDIRECTION : return true;
        case PREFERRED_DAY : return true;
        case CASH_ON_DELIVERY : return true;

       
        }
        if(service != null) {
            setReceiver(receiver);
        }
       
       
        return false;
    }



lG
Louis
 

mihe7

Top Contributor
Also hier muss man nicht mehr diesbezüglich ergänzen?
Richtig.
Ist das Richtig, wenn nein bitte sagen warum ?
Jein. Wenn ich den Parcel-Konstruktor ohne Priorität aufrufe, wird die Priorität nicht gesetzt. Daher greift man normalerweise in den allgemeineren Konstruktoren auf die spezielleren zurück, Du machst es umgekehrt.

Ja.

Ist das Anstatzweise Richtig, wenn nein Bitte Grund nennen.
Nein. Die Methode isTransportService soll lediglich zurückgeben, ob der gegebene TransportService ein Element des Arrays services ist.

In der Aufgabenbeschreibung fehlt mir die Methode zum Ändern des Empfängers. Das dürfte eine Methode sein, die eine Location als Parameter erwartet und ein boolean zurückgibt. In dieser Methode musst Du vorab prüfen, ob der betreffende TransportService gebucht ist. Falls nicht, gibst Du einfach false zurück. Falls doch, setzt Du den Empfänger und gibst true zurück.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Methodenaufrufe abstrakte Klassen, Interfaces Java Basics - Anfänger-Themen 17
M Abstrakte Klassen - Notation Java Basics - Anfänger-Themen 9
S Vererbung Abstrakte Methoden: Wozu das Ganze?! Java Basics - Anfänger-Themen 7
S abstrakte methoden in subclass? Java Basics - Anfänger-Themen 7
E abstrakte Klasse implementiert ein Interface Java Basics - Anfänger-Themen 40
G Abstrakte Klassen Java Basics - Anfänger-Themen 11
G Java Abstrakte Methoden Java Basics - Anfänger-Themen 2
T Abstrakte Klasse und Interfaces Java Basics - Anfänger-Themen 12
D Abstrakte Klasse, Konstruktorkette, Attribute setzen Java Basics - Anfänger-Themen 12
S Abstrakte Methode nutzen Java Basics - Anfänger-Themen 9
J abstrakte Methode in Klasse mit Rückgabetyp der abgeleiteten Klasse Java Basics - Anfänger-Themen 5
J Objekte und Abstrakte Klassen Java Basics - Anfänger-Themen 2
I Abstrakte Klasse - static Attribute deklarieren Java Basics - Anfänger-Themen 14
T Übungsaufgabe abstrakte Klasse Java Basics - Anfänger-Themen 21
J Java Interface/abstrakte Klassen Java Basics - Anfänger-Themen 2
M Erste Schritte Prüfungsbeispiel: Interface / abstrakte Klassen Java Basics - Anfänger-Themen 8
A Interface Abstrakte Interface Methode kann nicht benutzt werden Java Basics - Anfänger-Themen 10
S Gehaltsberechnung (Vererbung, abstrakte Methoden) Java Basics - Anfänger-Themen 6
S Datentypen Abstrakte Datentypen Java Basics - Anfänger-Themen 0
kilopack15 Beziehung Interface - (abstrakte) Klasse -Unterklasse Java Basics - Anfänger-Themen 3
K Abstrakte Klasse: vererbte Klasse; instance of? Java Basics - Anfänger-Themen 26
A Abstrakte Datentypen - Methode delete Java Basics - Anfänger-Themen 6
N Vererbung Abstrakte Klasse stateful Java Basics - Anfänger-Themen 3
D Abstrakte Klassen Verständniss Frage Java Basics - Anfänger-Themen 4
D Methoden Abstrakte Methoden Java Basics - Anfänger-Themen 3
W Abstrakte Klasse mit Variable? Java Basics - Anfänger-Themen 2
D Interface Interfaces und abstrakte Klassen implementieren Java Basics - Anfänger-Themen 4
B Abstrakte Klassen Java Basics - Anfänger-Themen 7
C Abstrakte und virtuelle Methoden in Java Java Basics - Anfänger-Themen 4
E verdeckte abstrakte Methode sinnvoll? Java Basics - Anfänger-Themen 7
A Vererbung Abstrakte Klasse mit Methode die Objekte der Subklassen benutzt? Java Basics - Anfänger-Themen 7
W Abstrakte und konkrete Klasse Java Basics - Anfänger-Themen 4
S Abstrakte Klassen Java Basics - Anfänger-Themen 2
C Dynamische Referenz & abstrakte Klassen Java Basics - Anfänger-Themen 3
F Abstrakte Klasse doch zum "Teil" instanzieren? Java Basics - Anfänger-Themen 4
V Interface Interfaces und abstrakte Klassen Java Basics - Anfänger-Themen 3
H Abstrakte Basisklasse Verständnisproblem! Java Basics - Anfänger-Themen 8
G Abstrakte Klassen - theoretische Frage Java Basics - Anfänger-Themen 2
OnDemand Abstrakte Klassen Java Basics - Anfänger-Themen 4
T OOP Abstrakte Klassen und ihre Kinder: wie läuft das? Java Basics - Anfänger-Themen 3
M Statische Methoden in Interface/Abstrakte Klasse Java Basics - Anfänger-Themen 6
M Abstrakte Klassen Java Basics - Anfänger-Themen 2
J Interfaces Abstrakte Klassen Java Basics - Anfänger-Themen 15
M Interface und Abstrakte Klassen Java Basics - Anfänger-Themen 12
N Datentypen abstrakte Klasse wird instanziert Java Basics - Anfänger-Themen 3
D Methoden abstrakte Methoden und Rückgabewerte Java Basics - Anfänger-Themen 2
B Abstrakte Methode vs. Interface Java Basics - Anfänger-Themen 2
propra Interface - abstrakte Klasse Java Basics - Anfänger-Themen 18
N Abstrakte Klasse Java Basics - Anfänger-Themen 28
R Namenskonvention abstrakte Klassen Java Basics - Anfänger-Themen 6
C OOP Objektstruktur: abstrakte Klassen Java Basics - Anfänger-Themen 3
L Über abstrakte Klasse auf eine Klasse zugreifen? Java Basics - Anfänger-Themen 6
V Vererbung Abstrakte Methode Java Basics - Anfänger-Themen 3
T OOP abstrakte klassen - methoden Java Basics - Anfänger-Themen 8
M Abstrakte Klassen Java Basics - Anfänger-Themen 21
J Welchen Sinn haben abstrakte Methoden? Java Basics - Anfänger-Themen 4
D Wann genau abstrakte Klasse und wann ein Interface verwenden? Java Basics - Anfänger-Themen 4
D Abstrakte Klassen und Interfaces als Paramter in Funktionen Java Basics - Anfänger-Themen 3
StupidAttack Abstrakte Methoden in nicht-abstrakter Methode in abstrakter Klasse Java Basics - Anfänger-Themen 6
T Abstrakte Klasse Java Basics - Anfänger-Themen 3
S Abstrakte Klasse Java Basics - Anfänger-Themen 5
T Interfaces: Braucht man abstrakte Klassen eigentlich noch? Java Basics - Anfänger-Themen 3
T OO, Konstruktor, abstrakte Methoden Java Basics - Anfänger-Themen 13
K Abstrakte Klasse vs. Interface Java Basics - Anfänger-Themen 21
T Abstrakte Klassen Java Basics - Anfänger-Themen 6
C abstrakte Klassen mögen mich nicht... Java Basics - Anfänger-Themen 2
I Abstrakte Klassen Java Basics - Anfänger-Themen 8
K Abstrakte Klasse bilden? Java Basics - Anfänger-Themen 11
S Abstrakte Klasse, festlegen, dass Methode verändert werden muss. Java Basics - Anfänger-Themen 4
D Zusammenfassung von Klassen (Vererbung? Abstrakte Klass? ...?) Java Basics - Anfänger-Themen 8
H Warum Java? | Abstrakte Klasse = Modul? Java Basics - Anfänger-Themen 20
G Abstrakte Klassen und Methoden Java Basics - Anfänger-Themen 3
C Schnittstellen und Abstrakte Klassen Java Basics - Anfänger-Themen 3
I Abstrakte Klassen Java Basics - Anfänger-Themen 22
J abstrakte klasse und methode super Java Basics - Anfänger-Themen 2
H Eine Abstrakte Klasse muss. Java Basics - Anfänger-Themen 7
G Abstrakte Klasse "Point" Java Basics - Anfänger-Themen 2
G Abstrakte Klassen ? Java Basics - Anfänger-Themen 9
G Abstrakte Methode in gleicher Klasse aufrufen Java Basics - Anfänger-Themen 5
M abstrakte Klasse Java Basics - Anfänger-Themen 3
nadoria abstrakte Klassen Java Basics - Anfänger-Themen 6
F Abstrakte Klasse: Konstruktor vs init() Java Basics - Anfänger-Themen 13
M Unterscheid Abstrakte Klassen/Interface Klassen? Java Basics - Anfänger-Themen 7
G Abstrakte Klasse (was passiert hier) Java Basics - Anfänger-Themen 3
T abstrakte Klassen? Java Basics - Anfänger-Themen 2
G Interface oder Abstrakte Klasse? Java Basics - Anfänger-Themen 3
G konkretes beispiel: interface hier besser als abstrakte kl. Java Basics - Anfänger-Themen 4
Acha Unterschied Interface - abstrakte Klasse Java Basics - Anfänger-Themen 4
M abstrakte klassen und interfaces Java Basics - Anfänger-Themen 2
B OOP: abstrakte klasse implementiert interface Java Basics - Anfänger-Themen 3
L abstrakte Methode nicht implementiert! Java Basics - Anfänger-Themen 5
M abstrakte klassen / Schnittstellen Java Basics - Anfänger-Themen 4
H abstrakte Klassen, Interfaces Java Basics - Anfänger-Themen 13
D Abstrakte Klasse Graphics Java Basics - Anfänger-Themen 3
R Interfaces durch abstrakte Klassen ersetzbar? Java Basics - Anfänger-Themen 8
A Abstrakte Klasse Java Basics - Anfänger-Themen 3
G abstrakte klasse Java Basics - Anfänger-Themen 6
F Abstrakte Klasse Baum Java Basics - Anfänger-Themen 6
A Eine abstrakte Methode static machen? Java Basics - Anfänger-Themen 4
A Abstrakte Klassen und Interfaces Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben