03.4a Wiederholung Klassen, Attribute, Methoden, Properties
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 54 | |
Author | ||
License | CC Attribution - NonCommercial - ShareAlike 3.0 Germany: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this | |
Identifiers | 10.5446/9663 (DOI) | |
Publisher | ||
Release Date | ||
Language | ||
Producer |
Content Metadata
Subject Area | |
Genre |
Informatik 2, Sommer 201118 / 54
1
2
9
10
11
13
17
37
38
43
45
46
47
50
51
53
54
00:00
Constructor (object-oriented programming)Instanz <Informatik>Social classVariable (mathematics)Mischung <Mathematik>Attribute grammarC++Parameter (computer programming)Function (mathematics)TypSpeciesOperator overloadingC sharpZahlFactorizationNumberPhysical lawObject (grammar)FORTRANComputer animation
Transcript: German(auto-generated)
00:01
Vor zwei Wochen habe ich Ihnen vorgeführt, wie man eine Klasse baut. Meeting sollte die heißen, Treffen, ein Treffen beschreiben. So eine Klasse kann enthalten Daten, die heißen dann Attribute, diese Daten. Bei dieser Klasse speichere ich zum Beispiel, wann das Meeting sein soll, wie lang es sein soll und was es für Namen haben soll.
00:26
Und eine Klasse kann neben den Daten Funktionen enthalten. Die Funktionen heißen dann Methoden in dem Spiel. Eine ganz wesentliche Methode ist ein Konstruktor. Die Methode, die dazu dient, eine Instanz der Klasse aufzubauen, so ein Ding zusammenzubauen.
00:47
Was der Konstruktor tun soll, ist einfach den Datenelementen vernünftige Werte zu geben. Hier habe ich einen ganz billigen Konstruktor, den kann man dann aufrufen, ohne ihm was weiteres zu geben.
01:01
Hier habe ich einen ganz ausführlichen Konstruktor, den wird man typischerweise immer haben. Einen, der wirklich alles baut. Der kann so eine Instanz vom Meeting bauen, ohne was weiteres zu wissen. Und hier habe ich jetzt eine blöde Lösung dafür gefunden. Ich sage wann, sofort, wie lange, zwei Stunden und der Titel ist unbenannt. Hier habe ich noch einen zweiten Konstruktor, dem gebe ich eine Zahl an Stunden.
01:24
Hier habe ich einen ganz ausführlichen Konstruktor, den wird man typischerweise immer haben. Einen, der wirklich alles setzen kann. Wann, wie lange und wie soll es heißen. Da gab es hier diesen Trick, dass man das this verwenden kann, um auf das aktuelle Objekt zu verweisen.
01:42
Der Name when ist schon für die Daytimeverbrauch, die hier übergeben wird im Konstruktor. Ich kann nicht schreiben, wenn gleich wenn, das wäre blödsinnig, dann würde ich diesem Ding sich selbst zuweisen. Ich kann aber sagen, aus dem aktuellen Objekt, das da gerade gebaut wird,
02:01
das Attribut when, das soll bitte auf dieses when gesetzt werden. Drei Konstruktoren, überladen, wenn sich einer an den Begriff erinnert, overloaded, überladen. Derselbe Methodenname, immer jetzt der Name der Klasse, was ein Konstruktor ist.
02:20
Aber verschiedene Anzahlen und verschiedene Arten an Parametern. Das ging in C nicht, dass man dieselbe Funktion mehrfach hat. In den modernen Sprachen können Sie jede Funktion mehrfach haben, überladen haben. Derselbe Name, aber andere Anzahl, andere Anordnung, anderer Typ an Parametern.
02:43
Einmal kein hier, einmal double und hier daytime, time span und stream. Konstruktor baut die Klasse eine besondere Methode, baut eine Instanz der Klasse. Hier haben wir eine etwas normalere Methode, die einfach nur fragt, ist das Meeting gerade jetzt zu Gange und liefert wahr oder falsch zurück, nimmt nichts.
03:02
In C hätte man noch void da reinschreiben müssen. In C++ müsste man nicht void reinschreiben. Hier kann man gar nicht mehr void reinschreiben, um zu sagen, nimmt nichts. Die leere Klammer hier heißt, nimmt nichts und liefert ja nein zurück, ist das Meeting jetzt. Hier habe ich eine Funktion, eine Methode, die das Meeting verschiebt um so und so viele Stunden.
03:27
Eine weitere Methode, überladen, selbe Name, aber anderer Parameter. Eine weitere Methode mit dem selben Namen, die das Meeting um eine Time Span verschiebt, nicht um eine Anzahl an Stunden verschiebt. Und hier hatte ich noch vorgeführt, was C Sharp als Spezialität kann.
03:45
Eine Mischung zwischen Attributen und Methoden. Eine Property nennt sich das dann, eine Eigenschaft, eine Property. Eigenschaften sind auch genau das, was hier im Eigenschaftsfenster auftaucht. Das sind tatsächlich alles solche Properties von den ganzen beteiligten Objekten, die herumfliegen.
04:05
Zum Beispiel von dem Button, der hat diese ganzen Properties, die da stehen. Das heißt also nicht umsonst Eigenschaftsfenster. Eine Property, die sieht in der Anwendung aus wie ein Attribut. Ich kann nachher einfach schreiben, bla bla, Punkt, Duration ist gleich.
04:21
Zum Beispiel. Ist aber eigentlich eine Methode. Und hier steht, was diese Methode tut. Eigentlich sind es hier sogar zwei Methoden. Eine Getter Methode, eine Setter Methode. Wenn diese Eigenschaft gesetzt wird, wird das da unten ausgeführt. Die innere Variable wird auf den übergebenden Wert gesetzt. Und wenn diese Eigenschaft geholt wird, jemand den Wert wissen will,
04:44
gebe ich den Wert der innere Variable zurück. Das zur Wiederholung.