===== Grundbegriffe der Objektorientierung ===== Ich gehe davon aus, dass Du die Begriffe Klassen, Objekte, Attribute und Methoden schon grob kennst, beispielsweise aus dem Informatikunterricht der 6. Klasse oder durch die Beschäftigung mit einfachen Sprachen für Kinder wie [[https://scratch.mit.edu/|Scratch]] oder [[https://www.pabst-software.de/doku.php?id=programme:eos:start|EOS]]. Aber auch dann, wenn Du noch nie davon gehört hast, wirst Du schnell in das Thema hineinfinden. Falls Du Dich schon gut auskennst, überspringe dieses Kapitel einfach und schau' Dir gleich an, [[klassen1:anwenden:start|wie man Objekte in Java erzeugt]]. \\ \\ Im folgenden eine kurze Erklärung der wichtigsten Begriffe. ==== Objektorientierung ==== Java ist eine **objektorientierte Programmiersprache**. Die Idee der Objektorientierung besteht darin, Daten und den dazugehörigen Programmcode in übersichtlichen, wiederverwendbaren Bausteinen zusammenzufassen, den sogenannten **Objekten**. ==== Objekte ==== Ein Objekt ist beispielsweise ein Rechteck auf dem Bildschirm. Die dazugehörigen Daten (man nennt sie **Attribute**) sind seine Breite, seine Höhe, seine Füllfarbe oder seine Rahmenbreite. Ein Rechteck-Objekt besteht neben diesen Daten auch noch aus "Programmen", die das Objekt verändern können, den sogenannten **Methoden**. Ein Rechteck-Objekt könnte beispielsweise ein Methode haben, die die grafische Darstellung des Objekts auf dem Bildschirm verschiebt, eine Methode, die sie dreht und eine, die die Füllfarbe verändert. ==== Klassen ==== {{ :klassen1:anwenden:pasted:20200829-084033.png?300}} Alle gleichartigen Objekte (d.h. alle Objekte mit denselben Attributen und Methoden) fasst man zu einer **Klasse** zusammen. Eine Klasse kann man sich also Bauplan vorstellen, anhand dem der Computer beliebig viele gleichartige Objekte erstellen kann. \\ Die Klasse **Rechteck** beispielsweise legt fest, welche Attribute und Methoden die Rechteck-Objekte haben.
Damit wir uns Klassen und Objekte vorstellen können, veranschaulichen wir sie als Klassendiagramme und Objektdiagramme. Das Klassendiagramm für die Klasse Rechteck siehst Du rechts. Oben steht die Bezeichnung der Klasse, es folgen - durch eine horizontale Strecke abgetrennt - ihre Attribute (mit Datentyp) und darunter ihre Methoden (mit Parametern, siehe später). ==== Objektkarte ==== In Diagrammen werden Objekte als abgerundete Rechtecke gezeichnet. Oben steht immer der Objektbezeichner (falls vorhanden) gefolgt von einem Doppelpunkt und dem Bezeichner der Klasse des Objekts. Durch eine horizontale Linie abgetrennt folgen die Attribute zusammen mit ihren Werten. Nachfolgend die Objektkarten zweier Rechteck-Objekte. {{ :klassen1:grundbegriffe:pasted:20200829-085645.png}} {{:klassen1:grundbegriffe:pasted:20200829-085709.png }}