Ja, hi, diese Woche geht es um Exceptions.
Es wird dazu auf wieder zwei Videos geben. In dem ersten Video werde ich
ein kleines Beispielprojekt mit euch zusammenbauen und in dem zweiten,
anhand dieses Projektes ein bisschen was zu Exceptions erzählen.
Dieses Beispielprojekt wird eine sehr, sehr abgespeckte Version der Mediathek
sein, auch mit nur einer Medienklasse, nämlich DVD.
Die bauen wir jetzt einfach mal. Die DVD hat
einen Titel, so ein Typ String
Und ein Bulien, Feld is Private. Und... Ein
Bulien. Der festhält, ob die DVD verliehen ist.
Den Titel werden wir im Konstrukt dann natürlich initialisieren
Musik Und dann bauen wir uns noch ein Ghetter dafür.
Der Titel. Ohne Parameter, naja.
String. Der Titel
Der returnt einfach nur den Titel. Und dann machen wir
uns noch eine Methode, die uns den Bullyen zurückgibt.
Okay. Ist verliehen. Natürlich auch keine Parameter entgegen.
Und Return.
Ist verliehen
Und dann bauen wir uns auch noch ein Setter dafür,
das heißt eine Methode, womit wir setzen können.
Ob diese DVD verliehen ist, die nimmt nichts entgegen.
Ich meine, es gibt nichts zurück. Nimmt natürlich was
entgegen und zwar Bulien, nennen wir auch, ist, verliehen.
Und im Rumpf reißen wir dann Das ist unser Exemplar
dariable Zung. Dann haben wir noch einen Kunden. Und
der hat einen Namen. Das ist ein Typ String.
Keine Ahnung. Dann hat er noch ein privates Feld.
Ein Typ DVD
Und das heißt, ist Entleier.
Für den Namen wird dann logischerweise wieder
Konstruktor gesetzt
Und dann schreiben wir uns natürlich noch ein Ghetta für den Namen.
Green. Good, name. Und dann noch
ein Für ist Entleier für... Natürlich auch Gabatsch, DVD
Gut. Hier ist ein... Naja. Für... Türkglücklicherweise
. Das ist entsprechende Feld. Und dann haben wir noch
eine Methode. Ist auch wieder Public. Gibt nichts zurück
und heißt Laie aus
Und ein Parameter vom Typ DVD entgegen. Und weiß das
. Unsere entsprechenden Exemplareagablen zu. So, dann brauchen wir
natürlich noch einen Verleihservice, den bauen wir uns jetzt.
Der hat erstmal eine Methode,
die ist Public
Und heißt Verleiher an, nimmt zwei Parameter entgegen,
und zwar einen vom Typ Kunde, einen von Typ DVD.
Was wir als erstes in der Methode machen, ist,
wir rufen auf Kunde die Methode Laie aus
auf übergebender DVD und rufen dann auf DVD die Methode Set
Ist verliehen auf und setzen die oft zu,
weil jetzt ist die DVD ja verliehen.
Ah ja, ich habe hier den Rückgabetyp vergessen.
Der Rückgabetyp ist void. So, jetzt wollen wir aber,
dass dieser Ausleihvorgang auch protokolliert wird.
Deswegen schreiben wir eine Methode, einen methoden Aufruf. Protokolliere,
der nimmt als allererstes Ja,
wir wollen das Ganze in Textpfeil schreiben und dieses Textpfeil liegt
irgendwo auf unserer Festplatte und dieser Pfad hat einen Namen und den nennen wir jetzt einfach mal File Name.
Dann soll der Name des Kunden übergenommen werden.
Punktget Name und der Titel der DVD
So. Jetzt haben wir natürlich hier diesen Pfeilennamen noch nicht.
Dafür legen wir uns ein privates Exemplarvariable an.
Vom Typ String. Und nennen das Ding.
Silent Name. Die wird im Konstruktor gesetzt
Und das ist einfach Punkt slash. Das heißt,
das Verzeichnis, in dem wir gerade sind, Prototokoll,
nennen wir das mal, Oto, Koll.
Und das ist ein Textfall.txt. Am Ende noch ein Semi-Colan
hin, dann wird hier auch nicht mehr geschimpft.
Aber wir haben ja jetzt hier, protokolliere noch gar nicht gebaut.
Und jetzt kommen wir auch schon zum Shortcut der Woche,
wenn ich hier draufgehe und mache Steuerung 1,
dann bietet er mir die Fixes an für irgendwelche Probleme, die er sieht.
Und das erste ist Create Method. Da klicke ich drauf
Die soll Private sein, protokolliere,
hier nehmen wir den Unterstrich mal weg, weil wir einfach,
fallen ihm übergeben werden, Name, Titel.
Und jetzt bauen wir uns den Stream, der
ausgegeben werden soll. Nennen wir halt auch mal Protokoll.
Da schreiben wir einfach rein, DVD.
Und dann Titel
Dann machen wir vielleicht mal Zeilenumbruch. Backslash N. Plus dann wieder
ein String wurde. Charlie anbekommt. Dann mit dem Plus
einfach den Namen dahinter. So, das ist das,
was wir in einen Text verschreiben wollen.
Und für, um Sachen im Textfall zu schreiben,
gibt es in Java
die Klasse Fileenwriter
Die nennen wir einfach mal weiter. Die entsprechende Exemplare,
Jable gleich. Filewriter. Und hier kommt jetzt der Pfeilname rein.
Damit das Ding weiß, wo es was hinschreiben soll.
Filewriter kennt er nicht, wenn ich hier jetzt wieder drauf gehe,
mache Steuerung 1, bietet er mir verschiedene Fixes an.
Ich nehme den ersten Import
Genau. Und dann soll der Filewriter natürlich auch schreiben.
Writern. Natürlich. Punkt. Wenn wir 200 Bright,
2 String. Und zwar genau den String-Protokoll. Und jetzt
hat er hiermit im Prinzip ein Pfeil entweder geöffnet oder erzeugt,
wenn es nicht da war, hiermit reingeschrieben.
Und am Ende müssen sie das Ganze den Stream auch wieder schließen.
Und jetzt schreiben wir Writer.close. Und dann ist das Ganze
wieder zu
Hier ist es noch ein bisschen rot, warum sehen wir
im zweiten Teil, wie wir das in den Griff kriegen?
Jetzt bauen wir uns eigentlich nur noch eine Methode,
die das ganze Ding startet. Das heißt, also eine Main-Methode hat,
deswegen klicke ich hier auch gleich mal Main-Methode an.
Also das Ding braucht natürlich einen Namen.
Wie immer nenne ich Start-up. Konstruktor brauchen wir hier nicht.
Und in der Main-Methode erzeugen wir uns ein Exemplar der Classive Verleihprotokollverleihservice
Ich nenne das von Live-Service. Oder wenn du
jetzt tatsächlich mal verleihst Service? Ich nu. Kann man
aufs Knatzose mitkolern. Und auf diesem Verleih-Service rufen wir dann
die Methode Verleihe an auf.
Da erzeugen wir erstmal
einen neuen Kunden
Oder ist eine Kundin, nennen wir sie Wecki?
Und die leiht sich eine DVD aus, also einen jungen, DVD.
Und die hat den Titel Schrödinger und seine Katzen.
Offensichtlich ist Wiki eine Physikerin. So,
jetzt haben wir hier noch das Problem,
also hier das Problem im Verleihservice, das hängt damit zusammen,
dass hier Acceptions geworfen werden von den entsprechenden Java-Klassen.
Wie wir genau damit umgehen, das gucken wir uns dann
im zweiten Teil an.
Also bis dann