Konstruktor - Objektorientierte Programmierung in Java 3 Informatik - simpleclub https://www.youtube.com/watch?v=FKdxjjNdCYM Transkript (automatisch erstellt) 0:00 Moin ihr freshen Dudes! Heute gehts um den Konstruktor! 0:12 Notiert euch gleich mal: Konstruktoren stellen eine Schnittstelle zur Erzeugung von Objekten dar #Unisprech 0:19 Aha! Was das zu bedeuten hat, erfahrt ihr jetzt! 0:22 Was ist jetzt dieses Konstruktor? Ein Konstruktor ist im Prinzip eine Methode mit dem man ein neu gebildetes Objekt in einen 0:35 Anfangszustand versetzen kann. Das heißt wir können Objekte gleich bei der Initialisierung mit Werten belegen. 0:40 Ein Konstruktor wird dabei in eine Klasse geschrieben. Und ist wichtig dafür, dass ein Objekt überhaupt erzeugt werden kann. 0:47 So nen Konstruktor sieht ähnlich aus wie eine normale Methodendeklaration. Allerdings gibt es ein paar Eigenschaften die beachtet werden müssen: 0:55 Erklärung: Eigenschaften Konstruktor - Konstruktoren haben immer den Namen der Klasse - Und Konstruktoren haben keinen Rückgabewert 1:01 - Außerdem kann eine Klasse entweder keinen, einen oder mehrere Konstruktoren besitzen Haben wir keinen Konstruktor definiert, dann übernimmt das der Compiler für uns. 1:10 Dann können wir aber auch keine Werte bei der Erzeugung eines Objekts übergeben. Bevor wir programmieren, was könnt ihr euch merken: 1:18 Mit einem Konstruktor können wir neue Objekte in einen Anfangszustand versetzen. Dabei trägt der Konstruktor immer den Namen der Klasse und hat keinen Rückgabewert 1:27 Geben wir keinen Konstruktor an, wird er automatisch erstellt. Alright! 1:32 Alright! Wieso weshalb warum brauchen wir das jetzt? 1:34 Schauen wir uns dazu mal die beiden Klassen aus dem vorherigen Video an: Wir hatten einmal die Klasse Schüler. 1:40 In der haben wir Attribute wie name, alter, klasse usw erstellt. Daneben hatten wir noch unsere Klasse Schulhof, in der wir unsre Main Methode reingezwiebelt 1:50 haben. Mit new Schüler haben wir dann ein Objekt von der Klasse Schüler erzeugt. 1:54 Was aber eigentlich passiert, ist das wir den Konstruktor Schueler aufrufen. Da wir aber keinen definiert haben, macht das der Compiler für uns, nennt man dann 2:02 auch Default Konstruktor Der Konstruktor kommt in die Klasse Schüler. Schreiben wir den Default Konstruktor von Hand sieht das ganze so aus: 2:12 Schueler(){ } Joa eigentlich so ziemlich nichts aussagend. 2:16 Deswegen kann der Default Konstruktor auch weggelassen werden. So ein Konstruktor ist aber dafür gedacht, Objekte mit Anfangszuständen zu versetzen. 2:25 Gehen wir also nochmal zurück in die Klasse Schulhof. Nachdem wir ein Objekt erzeugt erstellt haben, besitzt der erste Schüler noch überhaupt 2:32 keine Werte. Das haben wir dann in den darunter liegenden Zeilen gemacht. 2:36 Hier haben wir die Attribute der Klasse Schüler mit Werten und Zeichen belegt. So ein Konstruktor kann uns dabei helfen den Schritt gleich bei der Erzeugung des Objekts 2:45 zu machen. Dazu müssen wir ihn dementsprechend mit Parametern versehen. 2:49 Also jumpen wir mal wieder back in the class Schüler. Hier modifizieren wir mal den Konstruktor: Zuerst übergeben wir als Parameter einen 2:57 String für den Namen und zwei Integer für das Alter und die Schulklasse. Dann müssen wir noch die Parameter den Attributen zuordnen. 3:05 Also ordnen wir dem Attribut Namen unseren Parameter „n“ zu, dem Attribut Alter den Parameter „a“ und dem Attribut Klasse den Parameter „k“. 3:14 Danach schließen wir den Konstruktor und können jetzt Objekte mit Anfangswerten erzeugen. In der Klasse Schulhof sehen wir was passiert. 3:22 Also switchen wir wieder dahin. Man langsam nervts. 3:25 Wir können jetzt unsere Wertzuweisung löschen und sie als Parameter reinschreiben. Ja jut! 3:31 Dann kommt jetzt hinter new Schueler in die Klammer: Der Name Jan Das Alter 17 und die Schulklasse 12. 3:37 Und fertisch ist der Lack! Wir merken uns: Konstruktoren helfen uns Objekte mit Anfangszuständen 3:43 zu belegen. Damit können wir ganz easy noch andere Schüler erstellen, ohne viel Zeilen schreiben zu müssen. 3:48 Am besten ihr probiert selbst mal aus ein paar Konstruktoren zu erstellen. Auch ist es möglich mehrere Konstruktoren in eine Klasse zu schreiben. 3:56 Was es da zu beachten gibt, findet ihr aber in anderen Videos. Auch sieht man manchmal Konstruktoren, die die this Referenz verwenden. 4:03 Damit signalisiert man das man sich auf die Instanzvariable bezieht. HÄ? 4:08 What?? Keine Angst Freunde dazu gibt es genügend Input auf unserer Lernplattform, checkts mal 4:13 ab. Aber vorher fassen wir nochmal zusammen: Ein Konstruktor ist eine Methode, die uns 4:17 hilft ein Objekt mit Anfangszuständen zu versetzen. Deklariert wird ein Konstruktor mit folgenden Eigenschaften: 4:24 - Er trägt immer den Namen der Klasse - Und er hat keinen Rückgabetyp. Eine Klasse kann entweder keinen, einen oder mehrere Konstruktoren haben. 4:32 Besitzt sie keinen, wird automatisch beim erzeugen des Objektes ein default Konstruktor erstellt. 4:38 Wollt ihr jetzt noch mehr zum Thema Programmierung sehen, dann schaut mal auf unsere Internetseite vorbei. 4:43 Bis gleich