Werkzeugkasten

Werbung
Werkzeugkasten
Werkzeugkasten
1 Vokabelheft Java – Python – Delphi
Datentypen
Java
einfache Datentypen
int, float, boolean, char, ...
Zeichenkette
String, z. B. "Hallo"
Felddeklaration
KLASSENBEZEICHNER[] feldbezeichner;
feldbezeichner = new KLASSENBEZEICHNER[Elementanzahl];
Zugriff auf Feldelement
feldbezeichner[n];
Der Index n darf zwischen 0 und Elementanzahl – 1 liegen.
Feld (mehrdimensional)
Wie oben, nur jeweils mit einer der Dimension entsprechenden
Anzahl an eckigen Klammern.
z. B. feldbezeichner[n][m];
Deklaration
Klassendeklaration
class KLASSENNAME
{
//Attributdeklaration
//Deklaration des Konstruktors
KLASSENNAME()
{
...
}
//Methodendeklaration
}
Attributdeklaration
int kundenzahl;
PATIENT p;
Methodendeklaration
(ohne Rückgabewert)
void Methodenname(Parameterliste)
{
//Anweisungsfolge
}
Funktion / Methodendeklaration
(mit Rückgabewert)
RückgabeTyp Methodenname(Parameterliste)
{
// Anweisungsfolge
return BezeichnerDesRückgabewerts;
}
Zuweisung und Methodenaufruf
162
Zuweisung
Attributname = WertNeu;
Methodenaufruf
innerhalb einer Klasse
Methodenname(Parameterliste);
Methodenaufruf an
referenziertes Objekt
Referenzattributname.Methodenname(Parameterliste);
z. B. fenster.GroesseSetzen(30, 30);
Werkzeugkasten
Python
Delphi
nicht typisiert
Integer, Real, Boolean, Char, …
’Hallo’ oder "Hallo"
String
In Python wird das übergeordnete Konstrukt Liste verwendet.
feldbezeichner = []
Var feldbezeichner: array[startindex ..
endindex] of Datentyp;
feldbezeichner[n]
Der Index n darf zwischen 0 und Elementanzahl – 1 liegen.
feldbezeichner[n];
Elemente von Liste können wieder Listen sein.
z. B. array[1..5, 1..5] of Integer;
class KLASSENNAME
Type
KlassenName = class;
...
end;
#Deklaration des Konstruktors
__INIT__(self)
...
#Methodendeklarationen
Der Konstruktor wird bei den Methoden durch das Schlüsselwort constructor und durch den Bezeichner Create gekennzeichnet.
z. B.: constructor Create;
Unnötig, da nicht typisiert;
ACHTUNG: Im Konstruktor muss ein Wert zugewiesen
werden.
Var i:Integer;
def Methodenname(self, Parameterliste)
#Anweisungsfolge
procedure
Methodenname(Parameterliste);
begin
//Anweisungsfolge
end;
def Methodenname(self, Parameterliste)
#Anweisungsfolge
return BezeichnerDesRückgabewerts
function Methodenname(Parameterliste):
RückgabeTyp;
begin
//Anweisungsfolge
Methodenname := BezeichnerDesRückgabewerts;
end;
Attributname = WertNeu
Attributname := WertNeu;
self.Methodenname(Parameterliste)
wie Java
self.Referenzattributname.Methodenname(Parameterliste)
z. B.: self.fenster.GroesseSetzen(30, 30);
wie Java
163
Werkzeugkasten
Objektreferenzen
Java
Erzeugen eines Objekts
NameDesReferenzattributs = new KONSTRUKTOR
(Parameterliste)
z. B. k = new KUNDE(3);
Referenz eines Objekts
auf sich selbst
vordefiniertes Referenzattribut this
Kontrollstrukturen
bedingte Anweisung
(zweiseitig)
if (Bedingung)
{
//dann-Teil
}
else
{
//sonst-Teil
}
bedingte Anweisung
(einseitig)
if (Bedingung)
{
//dann-Teil
}
Mehrfachauswahl
switch (Auswahlkriterium)
{
case wert1:
//Anweisungen für Fall 1
break;
case wert2:
//Anweisungen für Fall 2
break;
default:
//Anweisungen für sonst
}
Zählwiederholung
for (i = 0; i < 5; i = i+1)
{
//Anweisungen
}
Zugriffsrechte
Zugriffsrechte
Standard:
public:
protected:
private:
Zugriff von überall aus dem Paket
uneingeschränkter Zugriff
Zugriff aus der Klasse und ihren Unterklassen
Zugriff nur innerhalb der Klasse
Vererbung
164
Umsetzung
class UNTERKLASSE extends OBERKLASSE
Aufruf des Konstruktors
der Oberklasse
super(Parameterliste);
Aufruf einer anderen
Methode der Oberklasse
super.Methodenname(Parameterliste);
Werkzeugkasten
Python
Delphi
NameDesReferenzattributs =
NameDesReferenzattributs :=
KLASSENNAME(Parameterliste)
Klassenname.Create(Parameterliste);
z. B. k = KUNDE(3)
Referenzattribut ist der erste Parameter der Methode,
in der Regel self.
vordefiniertes Referenzattribut self
if Bedingung:
#dann-Teil
else:
#sonst-Teil
if Bedingung then
begin
//dann-Teil
end
else
begin
//else-Teil
end;
if Bedingung:
#dann-Teil
if Bedingung then
begin
//dann-Teil
end;
if Auswahlkriterium = = wert1:
#Anweisungen für Fall 1
elif Auswahlkriterium == wert2:
#Anweisungen für Fall 2
case Auswahlkriterium of
wert1: begin
//Anweisungen für Fall 1
end;
wert2: ...
else:
#Anweisungen für sonst
for i in range (5):
#Anweisungen
for i:= 0 to 4 do
begin
//Anweisungen;
end;
keine
private, public, protected
(wie Java)
class UNTERKLASSE(OBERKLASSE)
UNTERKLASSE = class(OBERKLASSE)
OBERKLASSE.__init__(Parameterliste)
inherit;
OBERKLASSE.Methodenname(Parameterliste)
inherit Methodenname(Parameterliste);
165
Herunterladen