Eine Einführung in die wichtigsten Begriffe rund um Programmierung und Objektorientierung gibt es in der einhundertzweiundvierzigsten Episode des Anwendungsentwickler-Podcasts.
Podcast: Play in new window | Download (Duration: 1:30:33 — 42.5MB)
Abonnieren: Apple Podcasts | Spotify | RSS
Inhalt
Compiler und IDE
- Was ist ein Compiler?
- Ein Compiler übersetzt Sourcecode (z.B.
for (int i: numbers)
), den ein Mensch schreibt, in Maschinencode (z.B:00011010 00011010
), den ein Computer ausführen kann. - Dafür muss der Sourcecode absolut fehlerfrei sein, sonst gibt es Compiler-Fehler.
- Die einzuhaltenden Regeln werden durch die Syntax der Programmiersprache bestimmt. Zur Syntax gehören Rechtschreibung, Interpunktion und Grammatik.
- Ein Compiler übersetzt Sourcecode (z.B.
- Was ist eine IDE?
- Eine Integrated Development Environment (integrierte Entwicklungsumgebung) ist eine Software, mit der andere Software entwickelt wird. Sie enthält meist einen Editor und den Compiler.
Objekte und Klassen
- Was ist ein Objekt?
- Ein Objekt ist ein Ding der realen Welt mit Eigenschaften und Funktionen, z.B. ein Auto mit Eigenschaft Farbe und Funktion fahren.
- Ein Objekt ist immer nur ein Modell der Realität, das sich je nach Einsatzzweck unterscheiden kann. Beim Auto interessiert sich die Tankstellenanwendung vielleicht nur für das Kennzeichen und die Größe des Tanks, während eine Werkstatt sich für den Kilometerstand und den Hersteller interessiert.
- Was ist eine Klasse?
- Eine Klasse ist ein Bauplan für Objekte, in dem festgelegt wird, welche Eigenschaften und Funktionen alle (!) Objekte dieser Klasse haben müssen.
- Aus einer Klasse können dann mehrere Objekte erzeugt werden, die alle die gleichen Eigenschaften und Funktionen haben, die sich jedoch in den Werten ihrer Eigenschaften unterscheiden können.
- Beispiel: Die Klasse Auto definiert die Eigenschaft Farbe und die Funktion fahren. Aus dieser Klasse können zwei Objekte erstellt werden, von denen eins den Wert blau für die Farbe hat und das andere den Wert rot.
- Außerdem kann noch ein weiteres Auto erstellt werden, das ebenfalls blau ist, mit dem anderen blauen Auto aber nichts zu tun hat. Genau wie in der Realität kann es „baugleiche“ Autos geben, die trotzdem individuelle Einzelstücke sind.
Datentypen und Variablen
- Was ist ein Datentyp?
- Ein Datentyp legt fest (und der Compiler prüft):
- Art der Daten (z.B. Zahlen, Zeichenfolgen, Wahrheitswerte)
- Länge der Daten (z.B. 32 Bit für Zahlen)
- Erlaubte Operationen auf den Daten (z.B. Addition für Zahlen oder Konkatenation für Zeichenketten)
- Nicht erlaubt wären:
Ganzzahl a = "Hallo";
("Hallo"
ist keineGanzzahl
)Byte b = 32321;
(32321
ist zu groß für einByte
)true + false
(Wahrheitswerte können nicht addiert werden)
- Verbreitete Datentypen, die es in vielen Programmiersprachen gibt:
Integer
: Ganzzahlen (meist 32 Bit lang)Double
: GleitkommazahlenString
: alphanumerische ZeichenkettenBoolean
: Wahrheitswerte (true
undfalse
)
- Man kann auch eigene Datentypen definieren. Das wären dann die Klassen, die eine beliebige Kombination aus anderen Datentypen als Attribute enthalten können.
- Ein Datentyp legt fest (und der Compiler prüft):
- Was ist eine Variable?
- Eine Variable ist ein benannter Speicherbereich, der in einem Programm für die Verarbeitung verwendet werden kann, damit man nicht mit kryptischen Speicheradressen wie
0xA042BC2
arbeiten muss. - Variablen haben einen Datentyp und einen Bezeichner, z.B.
Integer alterDerPerson
(in Java). - Der Wert einer Variablen kann während der Programmlaufzeit verändert werden.
- Eine Variable ist ein benannter Speicherbereich, der in einem Programm für die Verarbeitung verwendet werden kann, damit man nicht mit kryptischen Speicheradressen wie
Ausdrücke, Operationen und Anweisungen
- Was ist ein Ausdruck (oder eine Expression)?
- Ein Ausdruck führt bei der Auswertung zu einem Resultat.
- Beispiele:
1 + 2
(->3
),(43.2 + 2) * 3
(->135.6
),"Hallo" + "Welt"
(->"HalloWelt"
)
- Was sind Operatoren und Operanden?
- Operanden sind die Werte, die verarbeitet werden sollen.
- Operatoren verknüpfen die Operanden zu Ausdrücken. Sie bilden z.B. die arithmetischen Operationen (Addition, Multiplikation usw.) ab.
- Je nach Typ hat ein Operator einen (unär), zwei (binär) oder drei (ternär) Operanden.
1 + 2
->1
und2
sind die Operanden, die mit dem Operator+
(Addition) zum Ausdruck verknüpft werden, dessen Resultat3
ist.- Beispiele für arithmetische Operatoren:
+
,-
,*
,/
,%
- Was ist eine Anweisung (oder ein Statement)?
- In der imperativen Programmierung formulieren wir unsere Programme in Form von Anweisungen oder Befehlen, die der Computer ausführen soll.
- Beispiele: Wertzuweisungen zu Variablen, Ausgaben,
if
,for
- Anweisungen müssen mit Semikolons abgeschlossen werden (in Java).
- Was ist ein Algorithmus?
- Ein Algorithmus ist eine Beschreibung zur Lösung eines Problems.
- Beispiel: Rezept zum Backen eines Apfelkuchens. Löst das Problem eines fehlenden Apfelkuchens! 😉
- Algorithmen können beliebig oft wiederholt werden und sollten immer zu einem vorhersagbaren Ergebnis führen (z.B. einem leckeren Apfelkuchen).
- Algorithmen bestehen aus drei grundlegenden Strukturen:
- Sequenz: Eine Folge von Anweisungen, die der Reihe nach abgearbeitet werden.
- Beispiel:
schaeleApfel; zerkleinereApfel; legeApfelAufTeig;
- Beispiel:
- Verzweigung: Eine Fallunterscheidung, bei der abhängig von einer Prüfung unterschiedliche Anweisungen ausgeführt werden.
- Beispiel:
if (schokostreuselGewuenscht) { fuegeSchokostreuselHinzu; }
- Beispiel:
- Wiederholung: Das mehrfache Ausführen der gleichen Anweisung(en).
- Beispiel:
for (Apfel a: aepfel) { schaeleApfel(a); }
- Beispiel:
- Sequenz: Eine Folge von Anweisungen, die der Reihe nach abgearbeitet werden.
Blöcke und Methoden
- Was ist ein Block?
- Ein Block fasst eine Gruppe aus Anweisungen zusammen und ergibt damit eine neue Anweisung.
- Ein Block kann grundsätzlich überall verwendet werden, wo auch eine Anweisung erlaubt ist.
- Ein Block wird an einigen Stellen erwartet, z.B. um den Rumpf einer Schleife oder Verzweigung zu definieren.
- Blöcke werden in vielen Programmiersprachen in geschweifte Klammern (
{}
) eingeschlossen.
- Was ist eine Methode?
- Eine Methode ist ein wiederverwendbarer, benannter Algorithmus.
- Der Kopf einer Methode besteht aus: Rückgabewert, Name, Parametern.
- Der Rückgabewert ist der Datentyp, den die Methode als ihr Ergebnis liefert.
- Die Parameter sind mehrere Variablen (Datentyp + Name), mit denen die Methode arbeitet. Sie werden vom Aufrufer in die Methode hineingegeben.
- Der Rumpf enthält die Implementierung als Folge von Anweisungen in einem Block.
- Die konkreten Werte, die der Aufrufer für die Parameter übergibt (z.B.
5
für den Parameterzahl
), heißen Argumente. - Nicht jede Methode muss einen Werte zurückgeben, es gibt daher auch
void
als Pseudo-Rückgabewert.
Literaturempfehlungen
Eine gute Einleitung in die obigen Themen gibt es in Java ist auch eine Insel von Christian Ullenboom*.
Links
- Permalink zu dieser Podcast-Episode
- RSS-Feed des Podcasts
- Von der Klasse zur Anweisung
- Datentypen, Typisierung, Variablen und Zuweisungen
- Ausdrücke, Operanden und Operatoren
Bei den Apfelkuchen hab ich direkt Hunger bekommen. SG aus der Praxis 🙂
Hehe 🙂 Das hatte ich zwar nicht beabsichtigt, aber schön, dass ich dich so erreichen konnte!
War super, dankeschön! 😀