Grundwissen Informatik 10. Jahrgangsstufe - MGF

Werbung
Grundwissen Informatik
10. Jahrgangsstufe
Grundwissen Informatik 10. Jahrgangsstufe
Objekt
Methoden
Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe
oder Strukturen unserer Welt (z. B. Autos, Räume, Bakterien, Lehrer,
Schüler, Kunden, Unterrichtsstunden, Buchungen, Konten, …).
Jedes Objekt besitzt einen eindeutigen Objektnamen (Bezeichner), mit dem
es identifiziert werden kann.
Als Attribute bezeichnet man die Eigenschaften, durch die sich ein Objekt von
anderen unterscheidet.
Die Attribute eines Objekts nehmen bestimmte Werte (Attributwerte) an.
Jedes Objekt bietet Dienste an – die sogenannten (öffentlichen) Methoden.
Klasse
Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.
Objektdiagramm
Objektdiagramme stellen bestehende Beziehungen zwischen Objekten in
einer bestimmten Situation dar.
Klassendiagramm
In Klassendiagrammen drücken die Verbindungslinien zwischen zwei Klassen
aus, dass Objekte dieser beiden Klassen möglicherweise in Beziehung
stehen.
entspricht der Kardinalität bei Datenbanken
Attribut
Multiplizität
Datentypen
Variablen
Wertzuweisung
sondierende
Methoden
StRin Susanne Ehmann
primitive Datentypen:
boolean, char, int, long, double, …
komplexe Datentypen:
String, alle selbst geschriebenen Klassen, alle Klassen aus der Java API
Variablen sind Speicherplätze für veränderliche Werte. Jede Variable besitzt
einen Namen, unter dem ihr Wert gelesen oder geändert werden kann.
z. B. Deklaration der Variablen zustand:
private String zustand;
Zugriffsrecht Datentyp Variablenname
z. B.
zustand = “aus“;
Der Wert der rechten Seite wird der linken Seite – also der Variablen –
zugewiesen.
Methoden, die an den Nutzer Informationen zurückgeben und dabei den
Objektzustand nicht verändern.
z.B.
public String nachnameGeben() {
return nachname;
}
1
Grundwissen Informatik
verändernde
Methoden
Konstruktor
Erzeugung eines
Objekts einer Klasse
mit dem
new-Operator
Methodenaufruf
10. Jahrgangsstufe
Methoden, mit denen Attributwerte von Objekten verändert werden können.
z. B.
public void nachnameSetzen(String nachname) {
this.nachname = nachname;
}
Konstruktoren sind besondere Methoden zur Erzeugung von Objekten.
z. B.
public Schueler(String vorname, String nachname) {
this.vorname = vorname;
this.nachname = nachname;
}
Beim Standardkonstruktor werden keine Attribute gesetzt.
z. B.
public Schueler() { }
Schueler max = new Schueler(“Max“,“Mustermann“);
Objektname
new-Operator Parameter
Klassenname
objektname.methodenname( wert1, wert2, …)
z. B.
max.nameGeben();
Bedingte
Zustandsdiagramme
Zustände:
Anfangszustand:
Endzustand:
Zustandsübergänge:
Ereignis:
Bedingung:
Ausgelöste Aktion:
Algorithmus
StRin Susanne Ehmann
offen, verriegelt, blockiert
offen
blockiert
Pfeile
verriegeln, Code eingeben
[Code korrrekt], [Code falsch und …]
/Piepton
Attributwerte bestimmen die Zustände von Objekten.
Tritt ein Ereignis ein (z. B. Code eingeben) und trifft die Bedingung, dass der
Code falsch ist und die Fehlversuche überschritten sind zu, dann geht es in
den Zustand blockiert über (Attributwert der Variable zustand wird auf
blockiert gesetzt) und ruft eine Methode auf, die einen Piepton auslöst.
Ein Algorithmus ist eine Verarbeitungsvorschrift, die aus endlich vielen
eindeutig ausführbaren Anweisungen besteht.
2
Grundwissen Informatik
10. Jahrgangsstufe
Struktogramm
Ein Struktogramm ist eine Darstellung für Algorithmen, die von der konkreten
Schreibweise einer bestimmten Programmiersprache unabhängig ist.
Kontrollstruktur:
Sequenz
Eine Folge von Anweisungen, die nacheinander abgearbeitet werden.
Struktogramm:
z. B. in Java:
Struktogramm:
Schueler max = new Schueler();
max.vornameSetzen(“Max”);
max.nachnameSetzen(“Mustermann“);
Anweisung 2
...
…
Anweisung 1
Anweisung n
Kontrollstruktur:
Wiederholung mit
fester Anzahl
Soll eine Sequenz mehrmals wiederholt werden und steht die Anzahl der
Wiederholungen fest, verwendet man zur Vereinfachung die Wiederholung
mit fester Anzahl.
z. B. in Java:
Struktogramm:
for (int i = 0; i < 10; i = i +1) {
…
}
wiederhole <Anzahl> mal
<Anweisungen>
Kontrollstruktur:
Bedingte
Wiederholung mit
Anfangsbedingung
Die Anweisungen werden wiederholt, solange eine bestimmte Bedingung
erfüllt ist. Ist die Bedingung zu Beginn nicht erfüllt, wird die Wiederholung
kein einziges ausgeführt.
Java:
Struktogramm:
while (Bedingung) {
…
}
wdh. solange <Bedingung>
<Anweisungen>
Kontrollstruktur:
Bedingte
Wiederholung mit
Endbedingung
Die Anweisungen werden auf jeden Fall einmal ausgeführt, egal ob die
Bedingung zutrifft oder nicht. Sie werden wiederholt, solange eine die
Bedingung erfüllt ist.
Java:
Struktogramm:
do {
…
} while (Bedingung);
<Anweisungen>
wdh. solange <Bedingung>
StRin Susanne Ehmann
3
Grundwissen Informatik
Kontrollstruktur:
Einseitig bedingte
Anweisung
10. Jahrgangsstufe
Die einseitig bedingte Anweisung wird verwendet, um eine Sequenz
abhängig von einer Bedingung auszuführen.
Java:
Struktogramm:
if (Bedingung) {
…
}
<Bedingung>
wahr
falsch
<Anweisungen>
Kontrollstruktur:
Zweiseitig bedingte
Anweisung
Die zweiseitige bedingte Anweisung wird verwendet, wenn abhängig von
einer Bedingung unterschiedliche Sequenzen ausgeführt werden sollen.
Java:
Struktogramm:
if (Bedingung) {
…
} else {
…
}
Kontrollstruktur:
Mehrfachauswahl
Feld (Array)
StRin Susanne Ehmann
<Bedingung>
wahr
falsch
<Anweisungen> <Anweisungen>
Mit der Mehrfachauswahl können beliebig viele Fälle untersucht werden.
Die zu überprüfende Variable muss als Datentyp byte, short, int, char, String
haben.
Java:
Struktogramm:
Variable
switch(Variable) {
sonst
Wert 1
Wert 2
Wert 3
case wert1:
…
break; <Anweisungen> <Anweisungen> <Anweisungen> <Anweisungen>
(optional)
case wert1:
…
break;
default:
…
}
In einem Feld können mehrere Werte eines Datentyps abgespeichert
werden.
Deklaration eines Felds:
private double[] zahlen;
Initialisierung eines Felds mit der Länge 10:
zahlen = new double[10];
Speichern eines Wertes unter dem Index i:
zahlen[i] = 10.3;
Zugriff auf einen Wert unter dem Index i:
zahlen[i]
Länge des Felds:
zahlen.length;
Feld durchlaufen und Inhalt ausgeben:
for (int i = 0; i < zahlen.length; i = i+1) {
System.out.println( (i+1) + “: “ + zahlen[i] );
}
4
Grundwissen Informatik
Referenz
10. Jahrgangsstufe
Ein Verweis eines Objekts auf ein anders (Ziel-)Objekt.
Umsetzung in Java:
Definition eines Referenzattributs in der Klasse, deren Objekte die
Beziehung nutzen sollen.
Sollen Objekte auf andere Objekte einer Klasse mit der Multiplizität n
zugreifen, soll ist das Referenzattribut ein Feld.
Sequenzdiagramme
Datenkapselung
StRin Susanne Ehmann
Durch die Definition des Referenzattributs wird bereits eine Beziehung
zwischen den Klassen hergestellt. Der Wert des Referenzattributs ist jedoch
null.
Objekte, die miteinander in Beziehung stehen, können miteinander
kommunizieren, in dem sie mit Methodenaufrufen Botschaften
untereinander austauschen:
referenz.methodenname(…);
Die Kommunikation zwischen den Objekten lässt sich mit
Sequenzdiagrammen grafisch darstellen.
z. B.
kunde1.kontostandErmitteln();
Objekte:
Akteur, kunde1, konto1
Balken
Aktivitätsbalken (Objekt ist aktiv)
Gestrichelte Linie:
Lebenslinie eines Objekts
Durchgezogener Pfeil:
Methodenaufruf (Botschaft wird gesendet)
Gestrichelter Pfeil:
Antwortbotschaft
Das Zugriffsrecht für Attribute wird immer auf private gesetzt. Wir
verstecken damit den Zustand der Objekte vor anderen Objekten
(Geheimnisprinzip, information hiding).
Über Methoden kann der Zustand eines Objekts erfragt werden.
5
Grundwissen Informatik
Vererbung
10. Jahrgangsstufe
Vererbung beschreibt eine neue Beziehung zwischen einer Oberklasse
(Superklasse) und einer Unterklasse (Subklasse oder abgeleitete Klasse).
Die Unterklasse erbt (erhält) von der Oberklasse alle Attribute und
Methoden. Hat die Oberklasse eine Beziehung zu einer anderen Klasse, so
hat auch die Unterklasse diese Beziehung.
Umsetzung in Java:
public class Unterklasse extends Oberklasse {
…
public Unterklasse(…) {
super();
}
…
}
Polymorphie
StRin Susanne Ehmann
Durch den Aufruf super(); wird zuerst der Konstruktor der Oberklasse
aufgerufen.
Man spricht von Polymorphie, wenn gleichnamige Methoden
unterschiedliche Definitionen bzw. Implementierungen haben.
Polymorphie wird durch Überschreiben der geerbten Methoden bewirkt.
6
Herunterladen