Programmieren lernen mit A++
eBook - ePub

Programmieren lernen mit A++

Funktional programmieren in Python und Java

  1. 356 Seiten
  2. German
  3. ePUB (handyfreundlich)
  4. Über iOS und Android verfĂŒgbar
eBook - ePub

Programmieren lernen mit A++

Funktional programmieren in Python und Java

Angaben zum Buch
Buchvorschau
Inhaltsverzeichnis
Quellenangaben

Über dieses Buch

A++ ist eine Programmiersprache, die an Minimalismus nicht zu ĂŒbertreffen ist. Ihr einziger Zweck ist es, an der Programmierung Interessierten zu helfen, so schnell und effizient wie nur möglich das Wesentliche der Programmierung zu erfassen.In verhĂ€ltnismĂ€ĂŸig kurzer Zeit werden Denkmuster eingeĂŒbt, die einen befĂ€higen, sich mĂŒheloser in die großen populĂ€ren Programmiersprachen einzuarbeiten, um in ihnen produktiv werden zu können.In diesem Buch werden die Programmiersprachen Python und Java vorgestellt und es wird gezeigt, wie A++-orientierte Programmierung in diesen Sprachen angewandt werden kann. Umfangreiche Fallstudien werden als Hilfe zum Erlernen der Programmierung angeboten.Ein zur VerfĂŒgung gestellter Interpreter soll dabei behilflich sein, das Gelernte anzuwenden und zu testen.Eine EinfĂŒhrung in das Lambda-KalkĂŒl von Alonzo Church, das die theoretische Grundlage von A++ darstellt, ist im Anhang enthalten.Das Buch wendet sich an alle Personen, die sich mit dem Erlernen der Kunst der Programmierung befassen. Dies sind vor allem Lehrende und Lernende an Hochschulen und den Oberstufen von Gymnasien in den Fachbereichen der Informatik, der Mathematik und der Physik.

HĂ€ufig gestellte Fragen

Gehe einfach zum Kontobereich in den Einstellungen und klicke auf „Abo kĂŒndigen“ – ganz einfach. Nachdem du gekĂŒndigt hast, bleibt deine Mitgliedschaft fĂŒr den verbleibenden Abozeitraum, den du bereits bezahlt hast, aktiv. Mehr Informationen hier.
Derzeit stehen all unsere auf MobilgerĂ€te reagierenden ePub-BĂŒcher zum Download ĂŒber die App zur VerfĂŒgung. Die meisten unserer PDFs stehen ebenfalls zum Download bereit; wir arbeiten daran, auch die ĂŒbrigen PDFs zum Download anzubieten, bei denen dies aktuell noch nicht möglich ist. Weitere Informationen hier.
Mit beiden AboplÀnen erhÀltst du vollen Zugang zur Bibliothek und allen Funktionen von Perlego. Die einzigen Unterschiede bestehen im Preis und dem Abozeitraum: Mit dem Jahresabo sparst du auf 12 Monate gerechnet im Vergleich zum Monatsabo rund 30 %.
Wir sind ein Online-Abodienst fĂŒr LehrbĂŒcher, bei dem du fĂŒr weniger als den Preis eines einzelnen Buches pro Monat Zugang zu einer ganzen Online-Bibliothek erhĂ€ltst. Mit ĂŒber 1 Million BĂŒchern zu ĂŒber 1.000 verschiedenen Themen haben wir bestimmt alles, was du brauchst! Weitere Informationen hier.
Achte auf das Symbol zum Vorlesen in deinem nÀchsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Weitere Informationen hier.
Ja, du hast Zugang zu Programmieren lernen mit A++ von Georg P. Loczewski im PDF- und/oder ePub-Format sowie zu anderen beliebten BĂŒchern aus Biowissenschaften & Wissenschaft Allgemein. Aus unserem Katalog stehen dir ĂŒber 1 Million BĂŒcher zur VerfĂŒgung.

Information

Verlag
tredition
Jahr
2018
ISBN
9783746932019

Teil III

ARS und Java

Kapitel 11

Programmierung in Java

11.1 Zweck und Umfang der EinfĂŒhrung in Java

Die folgenden AusfĂŒhrungen sind nicht als ausfĂŒhrliche EinfĂŒhrung in die Programmiersprache Java gedacht. Java ist weitaus komplexer als Scheme bzw. ARS++ und kann aus diesem Grunde nicht so kurz und bĂŒndig abgehandelt werden, wie es mit ARS++ im Teil III geschah. Dennoch sollten die folgenden AusfĂŒhrungen reichen um ein VerstĂ€ndnis fĂŒr die Anwendung der Grundprinzipien aus dem Teil I auf Java zu erhalten. Es wird hier mehr oder minder beispielhaft vorgestellt, wie die entsprechende Codierung in Java aussehen könnte. Mit diesen Schablonen und zusĂ€tzlichen Kommentaren kann dann auch die komplette Anwendung in Java nachvollzogen werden.

11.2 Wichtige Abstraktionsmechanismen

Etwas einen Namen geben
Etwas einen Namen geben entspricht in Java der Deklaration von Variablen verbunden mit der sofortigen oder spĂ€teren Zuweisung von Werten. Diese Variablen können als Referenzen fĂŒr einfache Daten oder auch fĂŒr Objekte und damit auch fĂŒr Funktionen verwendet werden. Im Detail wird dies weiter unten ausgefĂŒhrt werden. (Siehe Abschnitt 31 Seite 138).
Anders als in Scheme mĂŒssen alle Variablennamen anfangs einem bestimmten Datentyp zugeordnet werden. Ein solcher Datentyp kann eine Klasse von Objekten sein oder ein in Java definierter grundlegender Datentyp.
Solche in Java grundlegend definierte Datentypen, die nicht den Status einer Objektklasse einnehmen sind folgende:
‱ int Ganze Zahlen (32 Bit)
‱ long Ganze Zahlen (64 Bit)
‱ float Gleitkommazahlen (32 bit)
‱ double Gleitkommazahlen doppelter Genauigkeit (64 Bit)
‱ char Zeichen (16 Bit)
‱ byte (8 Bit)
‱ short (16 bit)
‱ boolean (1 Bit)
Ebenso grundlegend fĂŒr die Praxis sind folgende Datentypen, die allerdings als Klassen definiert wurden. Es folgt nur eine kleine Auswahl:
‱ String Zeichenketten
‱ Integer Ganze Zahlen als Objekte im Gegensatz zu int
‱ Float Gleitkommazahlen als Objekte im Gegensatz zu float
‱ Boolean Boolesche AusdrĂŒcke als Objekte im Gegensatz zu boolean
Bildung von Klassen
In Java ist dies die wichtigste Art der Abstraktion. Es steht fĂŒr diesen Abstraktionsmechanismus ein spezielles sprachliches Konstrukt zur VerfĂŒgung.
SYNTAX-DEFINITION 11.1 (DEFINITION EINER KLASSE)
Die Definition einer Klasse erfolgt nach dem folgenden in EBNF-Notation formuliertem Muster.
<Klassen-Modifikatoren> ’class’ <Name der Klasse>
[’extends’ <Oberklasse>]
[’implements’ <Interface> {<Interface>}]
<ClassBody>
Als Demonstrationsbeispiel diene dasselbe, das schon bei der EinfĂŒhrung in Scheme benutzt wurde. Die Hierarchie der in Frage kommenden Klassen kann wie folgt dargestellt werden:
Listing 11.1: Basisklasse “Account” fĂŒr Bankkonten
image
image
Abbildung 11.1: Klassenhierarchie im Beispiel Bankkonto
“balance” in dem obigen Beispiel ist eine Instanzvariable. Der Rest sind Methodendeklarationen. Variable wie Methoden können die Zusatzklausel ‘public’ oder ‘private’ haben. Durch diese Klausel werden die Zugriffsrechte definiert. ‘public’ bedeutet, dass die entsprechende Methode oder Variable von außerhalb des Objektes angesprochen werden kann. ‘private’ erlaubt den Zugriff nur von Methoden der eigenen Klasse.
Auch Methoden mĂŒssen einem Datentyp zugeordnet werden. Dieser Datentyp bezieht sich auf den RĂŒckgabewert der Funktion. Wird kein Wert zurĂŒckgegeben, dann muss die Methode dem Datentyp ‘void’ zugeordnet werden.
Ein Konstruktor erzeugt ein Objekt und kann benutzt werden, um Initialisierungs- arbeiten auszufĂŒhren. In dem obigen Beispiel ist die Methode “Account” der Konstruktor. Durch folgende Anweisung wird eine Instanz der Klasse Account erzeugt:
Listing 11.2: Erzeugung einer Klasseninstanz
image
Die folgende Klasse “Accounti” ist von der Basisklasse „Account“ abgeleitet, von der sie alle Eigenschaften erbt.
Listing 11.3: Klasse “Accounti”fĂŒr zinsbringende Bankkonten
image
In der nĂ€chsten Klasse ‘Konto’ werden in der Methode ‘main’ Objekte der oben beschriebenen Klassen erzeugt und ihnen zu Testzwecken Botschaften geschickt.
Listing 11.4: Anwendung der beiden Klassen
image

11.3 Closures

Wenn eine Funktion mit der sie umgebenden Menge der Date...

Inhaltsverzeichnis

  1. Cover
  2. Titel
  3. Impressum
  4. Inhaltsverzeichnis
  5. Vorwort
  6. I Grundlagen
  7. II ARS und Pyhon
  8. III ARS und Java
  9. AnhÀnge
  10. Schlusswort
  11. Biographische Daten zur Person des Autors
  12. Verzeichnis der Fundamentalbegriffe
  13. Abbildungsverzeichnis
  14. Listings
  15. Literaturverzeichnis
  16. Index
  17. Danksagung