Einführung in die Programmierung und Objektorientierung – Anwendungsentwickler-Podcast #142

Einführung in die Programmierung und Objektorientierung – Anwendungsentwickler-Podcast #142

Eine Einführung in die wichtigsten Begriffe rund um Programmierung und Objektorientierung gibt es in der einhundertzweiundvierzigsten Episode des Anwendungsentwickler-Podcasts. Inhalt Compiler und IDE Was ist ein Compiler?
1 Stunde 30 Minuten

Beschreibung

vor 6 Jahren

Eine Einführung in die wichtigsten Begriffe rund um
Programmierung und Objektorientierung gibt es in der
einhundertzweiundvierzigsten Episode des
Anwendungsentwickler-Podcasts.
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.



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 keine
Ganzzahl)

Byte b = 32321; (32321 ist zu groß für ein Byte)

true + false (Wahrheitswerte können nicht addiert
werden)





Verbreitete Datentypen, die es in vielen
Programmiersprachen gibt:

Integer: Ganzzahlen (meist 32 Bit lang)

Double: Gleitkommazahlen

String: alphanumerische Zeichenketten

Boolean: Wahrheitswerte (true und false)



Man kann auch eigene Datentypen definieren. Das wären
dann die Klassen, die eine beliebige Kombination aus anderen
Datentypen als Attribute enthalten können.



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.



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 und 2 sind die Operanden, die mit dem
Operator + (Addition) zum Ausdruck verknüpft werden, dessen
Resultat 3 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;



Verzweigung: Eine Fallunterscheidung, bei der
abhängig von einer Prüfung unterschiedliche Anweisungen
ausgeführt werden.

Beispiel: if (schokostreuselGewuenscht) {
fuegeSchokostreuselHinzu; }



Wiederholung: Das mehrfache Ausführen der gleichen
Anweisung(en).

Beispiel: for (Apfel a: aepfel) {
schaeleApfel(a); }







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 Parameter zahl), 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

Kommentare (0)

Lade Inhalte...

Abonnenten

15
15