Klassendiagramme mit UML - Theoretische Objektorientierte Konzepte 1 Informatik - simpleclub https://www.youtube.com/watch?v=zzwUH3vbNkc Transkript (automatisch erstellt) 0:00 Glück auf liebe Leute! Wir haben uns heute hier versammelt um uns anzuschauen, wie man Klassendiagramme erstellt. 0:05 Also mit Diagrammen ham die erstmal wenig zu tun aber bleibt gespannt. Klassendiagramme kann man am Besten über die Unified Modeling Language, kurz UML, modellieren. 0:14 UML ist eine grafische Modellierungssprache die dazu dient, ein Programm zu verstehen, bevor es gebaut wird. 0:20 Man muss ja erstmal verstehen, was man überhaupt programmieren will. Genau so wie bei nem Haus. 0:25 Bevor man des bauen kann, muss man ja erstmal guckn was man überhaupt braucht. Schaffe Schaffe , Häusle baue! 0:30 Deswegen sind Klassendiagramme auch für die Softwareentwicklung extrem wichtig. In UML kann man aber nicht nur Klassen- und Objektdiagramme darstellen sondern auch viele 0:39 weitere wie Sequenzdiagramme, Anwendungsfälle und so weida. Beschte! 0:44 Aber schauen wir uns doch erstmal die Klassendiagramme an! Zu Beginn erstmal nochmal, was genau ist eigentlich eine Klasse? 0:54 Eine Klasse ist eine Verallgemeinerung gemeinsamer Objekte aus der realen Welt. Ein Beispiel wäre die Klasse Auto. 1:01 Die Klasse Auto beinhaltet dabei alle Informationen die ein Auto allgemein haben muss. Also Farbe, Marke, PS, etc... 1:08 Ein Objekt dagegen wäre jetzt zum Beispiel mein blauer BMW der vor der Tür geparkt ist. Oder eben der alte verbeulte Volvo den ich eigentlich fahr. 1:16 Kurz gesagt, eine Klasse fasst alle Gemeinsamkeiten ähnlicher Objekte zusammen. Ein Objekt ist dagegen eine konkrete Ausprägung einer Klasse. 1:25 Ois easy? Durch Klassendiagramme können wir Objektorientierte Programme also auch besser verstehen, beispielsweise 1:31 Java. Für des Video is es also sinnvoll die Grundlagen von Java schon zu kennen. 1:35 Da habt ihr genug Möglichkeiten des auf unserer Lernplattform zu wiederholen. Schleichwerbuuuuung. 1:39 Das Grundprinzip bei Klassendiagrammen ist, dass wir jede Klasse betrachten und diese dann zeichnen. 1:44 Dadurch wird uns klar, welche Klassen wir brauchen,was für Eigenschaften diese haben und wie sie zueinander stehen. 1:50 Der Grundaufbau ist immer ein Rechteck für eine Klasse. Dabei steht oben immer der Klassenname. 1:56 Die Attribute stehen in der Mitte. Unten im Rechteck stehen dann noch die Methoden der Klasse. 2:00 Wenn wir uns nur einen groben Überblick über alle Klassen verschaffen wollen, reicht es auch die Kurzform zu schreiben und wirklich nur den Klassennamen drin stehen zu haben. 2:09 Für die Attribute schreiben wir natürlich zuerst unseren Namen hin. Am Anfang des Attributnamens fängt man immer mit Kleinbuchstaben an. 2:17 Durch einen Doppelpunkt getrennt, schreiben wir den Datentyp unseres Attributes. Dieser umfasst beispielsweise String für Buchstaben, Integer für Zahlen, Boolean für 2:26 true oder false und so weida. Die Methoden stehen ja unten im Rechteck. 2:31 Zuerst schreiben wir auch unseren Methodennamen hin. Methodennamen fangen dabei immer mit nem Kleinbuchstaben an. 2:37 Dahinter kommen dann noch geschlossene Klammern. Falls unsere Methode Eingabeparameter hat, schreiben wir die in der gleichen Form hin 2:43 wie unsere Attribute. Diese stehen dann in den Klammern. 2:47 Durch einen Doppelpunkt getrennt, schreiben wir noch den Rückgabetyp unserer Methode hin... falls ein Rückgabetyp existiert. 2:52 Aber gleich mal zur Praxis. Eine Beispielklasse Auto könnte zum Beispiel so aussehen. 2:58 Wir haben unseren Klassennamen Auto ganz oben hingeschrieben. Drunter kommen dann unsere Attribute Marke,Sitzplätze und Farbe. 3:06 Natürlich mit dem jeweiligen Datentyp. Cause nothing else matters....äh jo. 3:09 Ganz unten schreib ma dann noch unsere Methoden für die Klasse Auto. Das könnten zum Beispiel die Methoden Motor Starten und GetFahrer sein. 3:16 Klar soweit? Wie langweilig wäre des jetzt, wenn wir nur so ne plumpe Grundform hätten? 3:19 Natürlich können wir in Klassendiagrammen noch viel mehr eintragen. Zum Beispiel die Sichtbarkeit von Attributen oder Methoden - auch Geheimnisprinzip oder 3:29 Datenkapselung genannt. Dabei unterscheiden wir public, private,protected und package. 3:34 Wenn wir eine Methode oder ein Attribut public setzen wollen, schreiben wir einfach ein Plus davor. 3:40 Das heißt dann, dass man von innerhalb aber auch von außerhalb der Klasse auf die Methoden und Attribute zugreifen kann. 3:46 Für private schreiben wir einfach ein Minus davor. Dann kann nur von innerhalb der Klasse auf diese Methoden und Attribute zugegriffen werden. 3:53 Um Methoden und Attribut protected zu setzen schreiben wir ein Hashtag. Für die Älteren unter euch, eine Raute. 4:00 Dann kann man von innerhalb der Klasse drauf zugreifen aber auch von Spezialisierungen der Klasse. 4:05 Zum Beispiel durch Vererbungen. Dazu aber mehr in anderen Video. 4:10 Für die package Kapselung schreiben wir die Tilde. Die wat?Mathilde? 4:13 Näh.Die komische Welle da. Dann kann man nur drauf zugreifen, wenn man sich im selben Paket befindet. 4:19 Nochmal kurz zur Info. Ein Paket ist eine Bündelung von zusammengehörigen Klassen. 4:24 Keine Sorge, das wars noch nicht ganz! In UML können wir nämlich auch Klassenattribute und Klassenmethoden kennzeichnen. 4:31 Ein Klassenattribut hat dabei bei jedem Objekt dieser Klasse den gleichen Wert. Es hängt also von der Klasse und nicht vom Objekt ab. 4:39 Bei der Klasse PKW könnte man zum Beispiel das Attribut AnzahlRäder als Klassenattribut setzen, da ein PKW im Normalfall immer vier Räder besitzt. 4:47 En BMW hat ja net mehr Räder als en Mercedes, verstehste? In UML werden Klassenattribute einfach unterstrichen. 4:53 Eine Klassenmethode ist dagegen eine Methode, welche von konkreten Objekten unabhängig ist und sich nur an der Klasse orientiert. 5:01 Wenn wir zum Beispiel die Anzahl aller Objekte der Klasse Auto zählen wollen, würden wir in die Klasse Auto eine anzahlAutos Methode schreiben. 5:09 Diese würden wir als Klassenmethode definieren, da diese sich ja an der Klasse orientiert und net an den Objekten. 5:16 Klassenmethoden werden in UML ebenso unterstrichen. Alrighti right? 5:19 Guck ma uns doch des gelernte jetzt nochmal an ner konkreten Aufgabenstellung an. Nehmen wir an wir ham ein Kino: 5:25 Dieses Kino besteht aus mehreren Mitarbeitern, hat einen bestimmten Namen, eine Anzahl an Sitzplätzen und macht einen gewissen Umsatz. 5:31 Dabei soll der Umsatz nur dem Kino bekannt sein. Die anderen Attribute können öffentlich sichtbar sein. 5:37 Außerdem soll im Kino ein Film gestartet, Popcorn und Karten verkauft werden. Der Film soll privat gestartet und Popcorn und Karten öffentlich verkauft werden. 5:45 Wir sollen jetzt unser Kino in einem Klassendiagramm darstellen. Wie fangen wir jetzt an? 5:49 Als erstes schreiben wir unseren Klassennamen Kino oben hin. Dann schreiben wir die Anzahl an Mitarbeitern, den Namen,die Anzahl an Sitzplätzen und den 5:57 Umsatz als Attribute auf. Natürlich die Datentypen net vergessen! 6:02 FilmStarten , PopcornVerkaufen und KartenVerkaufen setzen wir dabei als Methoden. Soweit ganz klar! 6:07 Jetzt kümmern wir uns um das Geheimnisprinzip. Den Umsatz setzen wir auf private. 6:12 Deswegen schreiben wir en Minus davor. Die anderen Attribute können aber öffentlich sein, also setzen wir da ein Plus. 6:18 Bei den Methoden müssen wir nur die Methode FilmStarten als private setzen. Also wieder ein Minus davor. 6:24 Klatsch! Da die anderen Methoden öffentlich sein können, schreib ma wieder en Plus davor. 6:28 Und Bam! Fertig ist die Klasse Kino! 6:31 Ging ja ganz easy eigentlich oder? Wat müsst ihr euch jetzt merken zum Thema Klassendiagramme? 6:35 Eine Klasse fasst alle Gemeinsamkeiten von Objekten zusammen. Ein Objekt ist eine Ausprägung einer Klasse und stellt ein Objekt aus der realen Welt 6:43 dar. Ein Klassendiagramm dient zur Verständlichkeit von Programmen bevor man diese überhaupt 6:48 programmiert. Klassendiagramme werden mit hilfe von UML aufgebaut. 6:53 Eine Klasse wird in UML immer als Rechteck dargestellt. Dieses teilt man auf in den Namen,die Attribute und die Methoden. 7:01 Die Datenkapselung wird durch ein Plus, Minus, Hashtag und die Tilde erreicht. Die Zeichen werden Public, Private, Protected und Package zugeordnet. 7:09 Diese werden vor die Attribute oder die Methoden geschrieben. Durch das unterstreichen von Attributen definiert man sie als Klassenattribut. 7:16 Durch das unterstreichen von Methoden definiert man sie als Klassenmethoden. Soo Leude! 7:20 Was jetzt dagegen en Objektdiagramm ist, schauen wir uns im nächsten Video an! Klickt rein und bis gleich!