Einführung in die objektorientierte Programmierung: Unterschied zwischen den Versionen

Aus DMUW-Wiki
Wechseln zu: Navigation, Suche
(Algorithmus)
(Nur ein Theorieteil?: Aufbau der ersten zwei Sektionen angepasst)
Zeile 1: Zeile 1:
== Nur ein Theorieteil?==
+
== Grundbegriffe der Programmierung ==
 +
 
 
Was kennst du schon? Wo brauchst du noch Hilfe?<br />
 
Was kennst du schon? Wo brauchst du noch Hilfe?<br />
Bei jeder Frage gibt es einen Button, der dir weiterhelfen kann. Nutze ihn nur dann, wenn du keine Antwort auf die Frage hast.
+
Bei vielen Fragen gibt es einen Button, der dir für die Lösung weiterhelfen kann. Nutze ihn nur dann, wenn du keine Antwort auf die Frage hast.
  
 
Ingenieure und Entwickler strukturieren sich ihre Aufgaben in dem sie die Informationen aus einer objektorientierten Sichtweise betrachten. Dabei fassen sie alle Dinge, die in der realen Welt existieren, als Objekte auf, um ihre Problemstellung zu bewältigen.
 
Ingenieure und Entwickler strukturieren sich ihre Aufgaben in dem sie die Informationen aus einer objektorientierten Sichtweise betrachten. Dabei fassen sie alle Dinge, die in der realen Welt existieren, als Objekte auf, um ihre Problemstellung zu bewältigen.
Wie wir später sehen werden, lassen sie ihre Objekte für sich arbeiten in dem sie ihnen ein bestimmtes Verhalten programmieren.
+
Wie wir später sehen werden, lassen sie ihre Objekte für sich arbeiten, indem sie ihnen ein bestimmtes Verhalten programmieren.
  
 
=== Objekte ===
 
=== Objekte ===
[[Bild:Krüger_Rennauto.png|thumb|Objekt mit Attribut und Attributwerten]]
+
 
 
{{Definition|'''Objekte''' sind Dinge, Lebewesen oder Sachverhalte in der uns umgebenden realen oder auch virtuellen Welt. Gleichartige Objekte werden unter einem Begriff zusammengefasst (siehe nächsten Absatz).}}
 
{{Definition|'''Objekte''' sind Dinge, Lebewesen oder Sachverhalte in der uns umgebenden realen oder auch virtuellen Welt. Gleichartige Objekte werden unter einem Begriff zusammengefasst (siehe nächsten Absatz).}}
  
Nehmen wir uns ein Beispiel: das Rennauto von Michael Schumacher in seiner Weltmeistersaison 2004. Das Objekt hat verschiedenste Attribute mit jeweiligen Attributwerten. In der ersten Zeile steht der Objektname, getrennt durch eine horizontale Linie folgen die Attribute mit ihren Attributwerten.
+
Nehmen wir uns ein Beispiel: das Rennauto von Michael Schumacher aus seiner Weltmeistersaison 2004. Das Objekt hat verschiedene Attribute mit jeweiligen Attributwerten. In der ersten Zeile steht der Objektname, getrennt durch eine horizontale Linie folgen die Attribute mit ihren Attributwerten.
 +
[[Bild:Krüger_Rennauto.png|center]]
  
>>>ShuffleRätsel einfügen<<<
+
'''Arbeitsauftrag'''
 +
<div class="multiplechoice-quiz">
 +
Betrachten wir die geometrischen Körper Quader und Würfel. Jeder Körper baut sich aus 6 Flächen zusammen.<br />
 +
Wir erstellen uns ein Objekt "Fläche" mit zwei Attributen: Länge und Breite. Beide Attribute können verschiedene Werte annehmen.<br />
 +
Gibt es eine Möglichkeit aus 6 Objekten "Fläche" den Körper ...
 +
 
 +
... Würfel zu bauen, egal welche Werte die Attribute haben? (!ja) (nein)
 +
 
 +
... Würfel zu bauen, wenn alle Flächen gleich sind? (!ja ) (nein)
 +
 
 +
... Quader zu bauen, wenn gilt: 2 Flächen mit Länge = Breite = 4 cm, 4 Flächen mit Länge = 6 cm und Breite = 4 cm? (ja) (!nein)
 +
 
 +
</div>
  
 
=== Klasse ===
 
=== Klasse ===
Sicherlich hast du in deinem Biologieunterricht verschiedene Tierarten behandelt. Genauso wie in der Tierwelt, werden in der Informatik Dinge mit gleicher Eigenschaft zu einer Klasse zusammengefasst. Wir können auch sagen, dass es das Grundgerüst eines (realen) Objektes ist. Dieses Grundgerüst gibt uns wie bei den Objekten bereits einige Attributfelder vor, die wir nun mit bestimmten Werten besetzen können. Mit dem Beispiel von Michael Schumacher wollen wir uns folgende Unterschiede klarmachen:<br />
+
 
Jedes Rennauto ist auch ein Auto, <u>aber</u> nicht jedes Auto ist ein Rennauto. So gibt uns Klasse Auto bereits einige Attribute vor, wie ''Baujahr'', ''PS'' und ''Farbe'' vor, andere Attribute müssen wir selbst hinzufügen, wie den ''Rennstall'' zum Beispiel.<br />
+
Sicherlich hast du in deinem Biologieunterricht verschiedene Tierarten behandelt. Genauso wie in der Tierwelt, werden in der Informatik Dinge mit gleicher Eigenschaft zu einer Klasse zusammengefasst. Wir können auch sagen, dass es das Grundgerüst eines (realen) Objektes ist. Dieses Grundgerüst gibt uns, wie bei den Objekten, bereits einige Attributfelder vor, die wir nun mit bestimmten Werten besetzen können. Mit dem Beispiel von Michael Schumacher wollen wir uns folgenden Unterschied klarmachen:<br />
 +
Jedes Rennauto ist auch ein Auto, <u>aber</u> nicht jedes Auto ist ein Rennauto. Nehmen wir an, dass die Klasse "Auto" schon existiert. Sie enthält schon Attribute , wie ''Baujahr'', ''PS'' und ''Farbe''. Andere Attribute, wie den ''Rennstall'', müssen wir der Klasse "Auto" selbst hinzufügen.<br />
 
Beachte in der nächsten Aufgabe, dass es noch Unterklassen gibt, wo der Begriff besser zuzuordnen ist.<br /><br />
 
Beachte in der nächsten Aufgabe, dass es noch Unterklassen gibt, wo der Begriff besser zuzuordnen ist.<br /><br />
 
'''Arbeitsauftrag'''
 
'''Arbeitsauftrag'''

Version vom 13. Januar 2010, 16:05 Uhr

Inhaltsverzeichnis

Grundbegriffe der Programmierung

Was kennst du schon? Wo brauchst du noch Hilfe?
Bei vielen Fragen gibt es einen Button, der dir für die Lösung weiterhelfen kann. Nutze ihn nur dann, wenn du keine Antwort auf die Frage hast.

Ingenieure und Entwickler strukturieren sich ihre Aufgaben in dem sie die Informationen aus einer objektorientierten Sichtweise betrachten. Dabei fassen sie alle Dinge, die in der realen Welt existieren, als Objekte auf, um ihre Problemstellung zu bewältigen. Wie wir später sehen werden, lassen sie ihre Objekte für sich arbeiten, indem sie ihnen ein bestimmtes Verhalten programmieren.

Objekte

Definition


Objekte sind Dinge, Lebewesen oder Sachverhalte in der uns umgebenden realen oder auch virtuellen Welt. Gleichartige Objekte werden unter einem Begriff zusammengefasst (siehe nächsten Absatz).


Nehmen wir uns ein Beispiel: das Rennauto von Michael Schumacher aus seiner Weltmeistersaison 2004. Das Objekt hat verschiedene Attribute mit jeweiligen Attributwerten. In der ersten Zeile steht der Objektname, getrennt durch eine horizontale Linie folgen die Attribute mit ihren Attributwerten.

Arbeitsauftrag

Betrachten wir die geometrischen Körper Quader und Würfel. Jeder Körper baut sich aus 6 Flächen zusammen.
Wir erstellen uns ein Objekt "Fläche" mit zwei Attributen: Länge und Breite. Beide Attribute können verschiedene Werte annehmen.
Gibt es eine Möglichkeit aus 6 Objekten "Fläche" den Körper ...

... Würfel zu bauen, egal welche Werte die Attribute haben? (!ja) (nein)

... Würfel zu bauen, wenn alle Flächen gleich sind? (!ja ) (nein)

... Quader zu bauen, wenn gilt: 2 Flächen mit Länge = Breite = 4 cm, 4 Flächen mit Länge = 6 cm und Breite = 4 cm? (ja) (!nein)

Klasse

Sicherlich hast du in deinem Biologieunterricht verschiedene Tierarten behandelt. Genauso wie in der Tierwelt, werden in der Informatik Dinge mit gleicher Eigenschaft zu einer Klasse zusammengefasst. Wir können auch sagen, dass es das Grundgerüst eines (realen) Objektes ist. Dieses Grundgerüst gibt uns, wie bei den Objekten, bereits einige Attributfelder vor, die wir nun mit bestimmten Werten besetzen können. Mit dem Beispiel von Michael Schumacher wollen wir uns folgenden Unterschied klarmachen:
Jedes Rennauto ist auch ein Auto, aber nicht jedes Auto ist ein Rennauto. Nehmen wir an, dass die Klasse "Auto" schon existiert. Sie enthält schon Attribute , wie Baujahr, PS und Farbe. Andere Attribute, wie den Rennstall, müssen wir der Klasse "Auto" selbst hinzufügen.
Beachte in der nächsten Aufgabe, dass es noch Unterklassen gibt, wo der Begriff besser zuzuordnen ist.

Arbeitsauftrag

Ordne die Klassen unten den richtigen Oberklassen zu.

Klasse: Tierarten Einzeller Vögel Säugetiere Wirbellose Tier
Klasse: Säugetiere Delfine Raubtiere Paarhufer
Klasse: Insekt Ameisen Flöhe Hornissen Schmetterlinge
Klasse: Nagetiere Biber Eichhörnchen Murmeltier

Bis jetzt haben wir uns nur mit den Objekten und Klassen beschäftigt. Um mit ihnen zu arbeiten, brauchen wir noch ein paar weitere Grundbegriffe aus der Informatik.

Algorithmus

Les dir zuerst die Defintion des Begriffes durch, bevor du dir das Beispiel zum besseren Verständnis anschaust.

Definition


Ein Algorithmus ist eine Rechenvorschrift bei der in endlich vielen Schritten eine Aufgabe mit ausführbaren Anweisungen gelöst wird.


Nehmen wir uns ein Geschichte aus dem Alltag heraus, bei vielen Schülern ist das Aufstehen bis zum Erreichen der Schule der gleiche Ablauf:
Der Wecker klingelt.
Der Wecker wird ausgeschalten und das Licht angeschaltet.
Das Frühstück wird vorbereitet und anschießend gegessen.
Im Bad Zähne putzen.
Die Wohnung wird verlassen und per Bus/Bahn/Auto/zu Fuss Richtung Schule
Schule ist erreicht.

...

Arbeitsauftrag

Die Konstruktion einer Mittelsenkrechten zwischen den Punkten A und B kann als Algorithmus aufgefasst werden. Sortiere die Schritte in der richtigen Reihenfolge ein.
1. Schritt: Punkte A und B verbinden
2. Schritt: Kreise um A und B mit passendem Radius
3. Schritt: Schnittpunkte der Kreise verbinden

Exkurs: Diagramme

Datentyp

Modell