• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

2 Konstruktoren ?

Payno4

Schafhirte
Registriert
12 Februar 2015
Beiträge
127
Diamanten
300
Hallo Community,
nur eine ganz kurze Frage :

Ist es möglich eine Methode so zu verlinken , sodass wenn zwei Kontruktoren in einer Klasse stehen ich diese nur über den einen oder den anderen Konstruktor aufrufen kann ?

Mit freundlichen Grüßen
payno4
 
D

deleted196100

Guest
Du meinst, dass die Methode nur genutzt werden können soll, wenn die Klasse über einen bestimmten Konstruktor instanziert wurde?

Du könntest in der Klasse eine private Variable deklarieren, welche nur von einen der beiden Konstruktoren beschrieben wird und in der entsprechenden Methode eine Exception schmeißen wenn die Variable null ist.

Allerdings würde ich dir eher dazu raten das Konzept deiner Klasse so zu überdenken, dass du keinen solchen Workaround brauchst.
Versuche schau dir doch einfach mal an welche Arbeit der Konstruktor verrichten muss um die Methode korrekt verwenden zu können und schmeiße geziehlt Exceptions wenn irgendetwas nicht erfüllt wurde.

Eventuell instanziert man die Klasse ja mit einem anderen Konstruktor und regelt den Rest über "setter" Methoden. In diesem Fall könnte man die Methode trotzdem nicht benutzen, was ja nicht Sinn der Sache sein sollte.
 
Zuletzt bearbeitet von einem Moderator:

JTK222

Threadripper
Registriert
5 September 2013
Beiträge
1.150
Diamanten
323
Minecraft
JTK222
Ganz simpel, das Prinzip der Vererbung.
Erstell eine "Elternklasse" die all das Beinhaltet was auch in beiden drinnen sein soll.
Zweitens erstellst du zwei entsprechende "Kindsklassen" die von der Elternklasse erben, dann kannst du auch entsprechend Methoden hinzufügen, während du auch die Gemeinsamen nutzen kannst.

Alles andere geht eher gegen das Prinzip der Objekt Orientieren programmieren und daher würde ich dir auch nix anderes empfehlen.
 
F

Figz

Guest
Code:
public class Example
{
    Example(){
    
    }

    Example(int n){
        this();
    }
}

Habt ihr noch nie programmiert? Der parametrisierte Konstruktor ruft den parameterlosen Konstruktor auf. this(); muss als erste Anweisung stehen.

Entschuldigung. Nicht alle Menschen können so Intelligent sein wie du. Erklär uns jetzt bitte noch, wie deine Antwort die Lösung seiner Frage ist.

Und ein kleiner Apell an Payno4: Schreib doch bitte, ob du dein Problem bereits gelöst hast und welche Antwort zum Erfolg führte.
 

JTK222

Threadripper
Registriert
5 September 2013
Beiträge
1.150
Diamanten
323
Minecraft
JTK222
Habt ihr noch nie programmiert? Der parametrisierte Konstruktor ruft den parameterlosen Konstruktor auf. this(); muss als erste Anweisung stehen.
Programmieren kannst du aber schon oder?
Anscheinend ja nicht, sonst wüsstest du, dass das aufrufen eines anderen Konstruktors in der gleichen Klasse so optional
wie deine total hilfreiche und auch total freundliche Antwort ist.
 

UnityGaming

Workaholic
Registriert
25 Oktober 2015
Beiträge
527
Alter
26
Diamanten
312
Minecraft
FastFelix771
Jetzt lasst mal die Kirche im Dorf, alle beide...

Ist es möglich eine Methode so zu verlinken , sodass wenn zwei Kontruktoren in einer Klasse stehen ich diese nur über den einen oder den anderen Konstruktor aufrufen kann ?
Klingt sehr merkwürdig was du da vor hast.

@JTK222 schlug ja bereits vor mit Vererbung zu arbeiten.
Diesem Vorschlag schließe ich mich gerne an.
Ich finde deine Vorstellung einer Lösung etwas arg umständlich. Think Different.
 
Oben