Objekte in der realen Welt haben gemeinsame Eigenschaften und Eigenschaften, die nur für spezielle Objekte gelten. Im Foliensatz Grundlagen der Programmierung, Kapitel 11 ab Seite 15 werden als Beispiel für Objekte der realen Welt Verkaufs-Artikel in einem Geschäft herangezogen. Alle…
Bei der Datenkapselung wird ein direkter Zugriff auf die Daten einer Datenstruktur unterbunden. Der Zugriff ist nur über definierte Schnittstellen möglich. Dadurch können Fehler beim Datenzugriff vermieden werden. Beispiel:In einer Klasse Konto gibt es eine private Instanzvariable kontostand. Ein direkter…
Bei einer Rekursion wird eine Frage mit einer Frage beantwortet. Will man beispielsweise die Faktorielle von 3 berechnen (3!), kann man das tun, indem man die Faktorielle von 2 berechnet und das Resultat mit 3 multipliziert. Stellt sich freilich die…
In verschiedenen Programmiersprachen werden Pointer- oder Zeigerkonzepte umgesetzt. In C beispielsweise beschreibt ein Pointer auf ein Array eine Adresse im Speicher, an der der Wert des Arrayelements mit dem Index 0 abgespeichert ist. Pointer-Arithmetik:Inkrementiert man beispielsweise in C den Pointer…
Mit Hilfe der Shift-Operation m << n werden die Bits der Zahl m um n Positionen nach links verschoben. Analog werden mit dem Operator >> die Bits nach rechts verschoben. Beispiel: 5 << 2Binärdarstellung der Zahl 5: 0000 01010000 0101…
Ein Wertdatentyp (primitiver Datentyp) kann einen numerischen Wert oder einen Wahrheitswert speichern. Für diesen Datentyp gibt es arithmetische oder logische Operatoren. Beispiele für Wertdatentypen in Java sind int, double, boolean, char, … Ein Referenzdatentyp kann die Speicheradresse des referenzierten Objekts…
Mit Reflection kann zur Laufzeit auf Informationen über Klassen und Objekte zugegriffen werden. Beispielsweise kann ermittelt werden, welche Methoden und Variablen es in einer Klasse gibt. Außerdem ist es möglich, mit Reflection Objekte von Klassen zu erzeugen, die zur Übersetzungszeit…
Warum verwende ich Threads? Threads werden verwendet, um mehrere Aufgaben oder Tasks nebeneinander auszuführen. Benötigt eine Aufgabe (z.B. Dateidownload) viel Zeit, ist es sinnvoll, diese Aufgabe in einem eigenen Thread auszuführen. Damit ist es möglich, dass das Programm während des…
Es ist sinnvoll, statische Methoden, die inhaltlich zusammen gehören, in einer eigenen Klasse zu sammeln. Ein Beispiel für eine solche Klasse in Java ist die Klasse java.lang.Math. Diese enthält mathematische Funktionen wie sin, cos, log, exp, … In der objektorientierten…