Programmieren in Java

Größe: px
Ab Seite anzeigen:

Download "Programmieren in Java"

Transkript

1 Studienmaterial Programmieren in Java Prof. Dr. Cornelia Heinisch JAV101

2 1 Programmieren in Java Einleitung und Lernziele 3 1 Objektorientierung und erstes Programmieren in Java Schritt für Schritt zum ersten Java-Programm Werkzeuge für die Programmierung in Java Das Programm Hello, World! Das objektorientierte Konzept Die Denkweise in Objekten und Klassen Objektorientiertes versus funktionsorientiertes Konzept Objektorientierung in Java Klassen und Objekte Vererbung Schnittstellen Pakete Klassenbibliothek 29 2 Die Programmiersprache Java Regeln und Konventionen Lexikalische Einheiten Style-Guide-Konventionen Kommentare Datentypen und Variable Klassifikation der Datentypen in Java Variable einfacher Typen und Variable von Referenztypen Array-Typen Ausdrücke, Operatoren und Kontrollstrukturen Ausdruck, Operator, Operand, Anweisung und Kontrollstruktur Beliebte Fehler bei Ausdrücken und Operatoren Durchlaufen von Arrays mit der for-each-schleife Blöcke und Methoden Formale und aktuelle Parameter Polymorphie von Methoden Überladen von Methoden Klassen und Objekte Klassenvariable und -methoden Die this-referenz Konstruktoren Vererbung und Polymorphie Aufruf von Konstruktoren der Vaterklasse Erweitern, Überschreiben und Polymorphie Die Klasse Object Ausnahmebehandlung Generizität 70 Inhaltsverzeichnis

3 2 3 Grundlegende Java-Bibliotheken Collections Ein-/Ausgabe und Streams 77 Zusammenfassung 82 Antworten zu den Kontrollfragen 83 Literaturverzeichnis 96 Stichwortverzeichnis 97 Copyright AKAD. Die Privat- Hochschulen GmbH Ein Unternehmen der Cornelsen-Gruppe. Telefon: (07 11) Internet: Alle Rechte vorbehalten. Jede Verwertung außerhalb der Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung der AKAD unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Bearbeitung in elektronischen Systemen. Inhaltsverzeichnis

4 3 Einleitung und Lernziele Die Nutzung von Software ist schon lange nicht mehr auf Spezialisten oder einzelne Industriezweige beschränkt. Software durchdringt das tägliche Leben eines jeden Einzelnen. Man könnte sich fragen, ob man überhaupt noch eine Aufgabe des täglichen Lebens erledigen kann, ohne dabei Software zu verwenden. Software im Einsatz von morgens bis abends: Da wäre die zeitgesteuerte Warmwasseraufbereitung für die Dusche am Morgen, oder der Kaffee aus der Pad-Maschine, Musik hören, Fernsehen, Telefonieren, Einkaufen und die elektronischen Bezahlmöglichkeiten, Wäsche waschen, Auto oder Zug fahren, etc. Selbst wer es bis heute geschafft hat, weder Handy noch Computer zu besitzen, kann sich der Nutzung von Software nicht entziehen. Mit diesem heterogenen Einsatzfeld der Software und der oftmals enormen Komplexität einzelner Systeme ist klar, dass Software entwickeln nicht nur Programmieren bedeutet. Beim Gesamtaufwand einer Software-Entwicklung nimmt die Programmierung nur noch einen kleinen Anteil ein. Bei der Software-Entwicklung geht es im ersten Schritt darum, zu verstehen, welche Aufgabe durch Software unterstützt, verbessert oder überhaupt erst ermöglicht werden soll. Sogenannte Anforderungen werden aufgestellt und sorgfältig analysiert. Die Analyseergebnisse werden in Diagrammen (Modellen) und textuellen Beschreibungen festgehalten. Im nächsten Schritt wird ein Entwurf der zu erstellenden Software auf Basis der Analyseergebnisse angefertigt. Die Entwurfsergebnisse werden wiederum in Diagrammen und textuellen Beschreibungen dokumentiert und erst dann wird auf Basis der Entwurfsergebnisse die Programmierung der Software durchgeführt. Software entwickeln ist mehr als nur Programmieren. Für die Programmierung kommen eine oder bei größeren Systemen auch mehrere Programmiersprachen zum Einsatz. Die Programmiersprache, die Sie in diesem Studienbrief kennenlernen, ist Java. Java ist neben den Programmiersprachen C, C++ und C# eine der heute am häufigsten eingesetzten Programmiersprachen. Die Programmiersprachen C++, C# und Java sind die dominierenden Repräsentanten der objektorientierten Programmiersprachen. Eine objektorientierte Programmiersprache eignet sich optimal für die Implementierung einer Software, wenn bereits die vorgelagerten Analyse- und Entwurfstätigkeiten nach dem objektorientiert:konzeptobjektorientierten Konzept erfolgten. Man spricht dann auch von der objektorientierten Modellierung (OOM) und meint damit die Tätigkeiten und die Ergebnisdokumentation in der Analyse- und in der Entwurfsphase. Von objektorientierter Programmierung (OOP) spricht man, wenn die Implementierung der Software in einer objektorientierten Programmiersprache, wie zum Beispiel Java, erfolgt. Mit dem objektorientierten Konzept ist unzertrennlich die Unified Modelling Language (UML) (OESTEREICH, 2009) verbunden. Die Unified Modelling Language standardisiert alle Diagramme, die im Rahmen einer objektorientierten Modellierung erstellt werden. Ein Großteil der Ergebnisdokumentation in der Analyse- und Entwurfsphase bei einer objektorientierten Modellierung sind UML-Diagramme. Ein Programmierer hat nun die Aufgabe, die UML-Diagramme aus der Entwurfsphase unter Einbezug der ergänzenden textuellen Dokumentation in eine objektorientierte Programmiersprache zu übersetzen. Als Java-Programmierer müssen Sie also nicht nur lernen, in der Programmiersprache Java zu sprechen, sondern Sie müssen auch die UML lesen und objektorientiert denken können. Objektorientiertes Konzept, Objektorientierte Modellierung (OOM), Objektorientierte Programmierung (OOP) Unified Modelling Language (UML) Einleitung/Lernziele

5 4 Entsprechend werden Sie in diesem Studienbrief folgende Fertigkeiten erwerben: P in der Programmiersprache Java zu sprechen, P essenzielle Notationselemente und Diagramme der UML zu lesen und diese in die Programmiersprache Java zu übersetzen, P objektorientiert zu denken, um die objektorientierten Konzepte in der Programmiersprache Java abzubilden. Der Studienbrief ist in drei Kapitel untergliedert: P Das erste Kapitel Objektorientierung und erstes Programmieren in Java vermittelt einen leichten und schnellen Einstieg in die Objektorientierung und in die Programmierung mit Java. Zu Beginn geht es darum, die Werkzeuge, die Sie benötigen, um Java-Programme zu erstellen und auszuführen, kennenzulernen. Im zweiten Schritt lernen Sie das objektorientierte Konzept und die UML-Notationselemente für Klasse und Objekt kennen. Sie beginnen objektorientiert zu denken und lernen, wie man diese Gedanken in UML notieren kann. Abschließend wird Ihnen in diesem Kapitel am Beispiel einer Bibliotheksverwaltung gezeigt, wie die objektorientierten Konzepte in der Programmiersprache Java umgesetzt sind. P Im zweiten Kapitel Die Programmiersprache Java lernen Sie Java genauer kennen und verfeinern Ihre Programmierfähigkeiten. Das Beispiel der Bibliotheksverwaltung wird hierzu Kapitel für Kapitel erweitert und auch immer wieder umgebaut. Zu Beginn lernen Sie einige Regeln und Richtlinien für das korrekte Erstellen von Java-Programmen. Es geht weiter mit Datentypen und Variablen, Ausdrücken, Operatoren und Kontrollstrukturen, Klassen und Objekten, Vererbung und Polymorphie, Ausnahmebehandlung und Generizität. Nach Abschluss dieses Kapitels haben Sie alle Sprachkonstrukte von Java kennen gelernt. P Im dritten Kapitel Grundlegende Java-Bibliotheken lernen Sie Klassenbibliotheken kennen, die in der Programmiersprache Java geschrieben sind. Diese Klassenbibliotheken sind Bestandteil der Entwicklungsumgebung und werden mit der Programmiersprache Java ausgeliefert. Ein erfahrener Java-Programmierer unterscheidet sich von einem Einsteiger durch eine umfassende Kenntnis von Klassenbibliotheken. Sollten Sie später als Java-Programmierer arbeiten, so werden Sie kontinuierlich neue Klassenbibliotheken kennenlernen bzw. selbst schreiben. Konkret lernen Sie die Klassenbibliothek der Collections und die Klassenbibliothek für die Ein- und Ausgabe kennen. Dieser Studienbrief orientiert sich an dem Buch Java als erste Programmiersprache (HEINISCH, et al., 2010). Er bietet ergänzende Informationen zu den Kapiteln 1 14, sowie den Kapiteln des Lehrbuches. Den optimalen Lernerfolg erzielen Sie, wenn Sie ergänzend zum Studienbrief das entsprechende Kapitel im Buch durcharbeiten. Über die Autorin dieses Studienbriefs Prof. Dr. CORNELIA HEINISCH studierte Softwaretechnik an der Hochschule Esslingen und promovierte an der Universität Tübingen. Seit mehr als 10 Jahren begleitet sie in der Automobilindustrie große SW-Projekte als Beraterin. In ihren Dozententätigkeiten an mehreren Hochschulen lag und liegt ihr Schwerpunkt auf den Themengebieten Software-Engineering und objektorientierte Programmierung. Seit Mitte 2012 hat sie eine Professur für Wirtschafts-Informatik an der FOM-Hochschule für Ökonomie und Management. Als Autorin des Lehrbuches Java als erste Programmiersprache ist Frau Prof. Dr. HEINISCH mit der objektorientierten Programmierung in Java bestens vertraut. Einleitung/Lernziele

6 5 1 Objektorientierung und erstes Programmieren in Java 1.1 Schritt für Schritt zum ersten Java-Programm Um Java-Programme schreiben und ausführen zu können, benötigen Sie einige Werkzeuge auf ihrem Rechner. In.1.1 werden Sie zuerst lernen, was Sie benötigen und dann wird Ihnen Schritt für Schritt gezeigt, wie Sie die benötigten Werkzeuge auf Ihrem Rechner installieren. In.1.2 schreiben Sie bereits ihr erstes sehr einfaches Java-Programm und bringen es zur Ausführung Werkzeuge für die Programmierung in Java Damit Sie Java-Programme schreiben und ausführen können, benötigen Sie Folgendes: P einen Editor, um ein Java-Programm einzutippen bzw. den Java-Quellcode zu erstellen; P einen Java-Compiler, um den im Editor eingetippten Java-Quellcode in Java-Bytecode zu übersetzen; P die Java-Klassenbibliothek, welche ausprogrammierte Funktionalitäten zur Verwendung in den eigenen Java-Programmen zur Verfügung stellt; P einen Java-Interpreter, um den Java-Bytecode auf der jeweiligen Rechner-Plattform auszuführen. Hierzu übersetzt der Java-Interpreter den Java-Bytecode in Maschinencode und bringt diesen direkt zur Ausführung. Als Rechner-Plattform wird hier die Kombination von Betriebssystem und zugehöriger Rechner-Hardware verstanden. Definition Rechner-Plattform Java-Compiler, Java-Interpreter und die Java-Klassenbibliothek werden folgendermaßen unter dem Begriff der Java-Plattform zusammengefasst: Zu einer Java-Plattform gehören, neben der Programmiersprache Java, Werkzeuge wie Definition Java-Plattform P der Java-Compiler (javac), P die Java Virtuelle Maschine (JVM) in anderen Worten der Java-Bytecode- Interpreter (java) für eine Rechner-Plattform P und eine umfassende Klassenbibliothek.

7 6 Die Java-Plattform wird von Oracle ehemals Sun Microsystems in verschiedenen Ausführungen zur Verfügung gestellt. Es werden beispielsweise folgende Ausführungen unterschieden: P Standard Edition (Java SE) P Enterprise Edition (Java EE) P Micro Edition (Java ME) Die Ausführungen unterscheiden sich im Wesentlichen in Art und Umfang der Klassenbibliothek und durch die zur Verfügung gestellten Werkzeuge. Die unterschiedlichen Ausführungen sind für den Einsatz von Java-Programmen auf unterschiedlichen Endgeräten gedacht. Für diesen Studienbrief benötigen Sie eine Java-Plattform in der Standard Edition. In den folgenden beiden Unterkapiteln werden zwei Möglichkeiten gezeigt, mit einer Java-Plattform zu arbeiten. In lernen Sie mit dem Java Development Kit eine Java-Plattform kennen. In lernen Sie die integrierte Entwicklungsumgebung Eclipse kennen, die eine Java-Plattform, einen Editor und weitere Hilfswerkzeuge bereits unter einer gemeinsamen Oberfläche zur Verfügung stellt. Die erste Möglichkeit ist für diejenigen geeignet, die wenig Erfahrung mit Entwicklungsumgebungen haben und sich erst einmal auf die Programmiersprache Java konzentrieren möchten. Die zweite Möglichkeit ist für diejenigen gedacht, die bereits andere Entwicklungsumgebungen oder vielleicht sogar Eclipse kennen und auf die Komfortfunktionen einer Entwicklungsumgebung nicht verzichten möchten Java Development Kit Das Java Development Kit (JDK) wird von der Firma Oracle zur Verfügung gestellt und ist die meistgenutzte Java-Plattform, um Java-Programme zu entwickeln und auszuführen. Definition: Java Development Kit (JDK) Das JDK ist eine Java-Plattform mit einem für die jeweilige Rechner-Plattform spezifischen Java-Bytecode-Interpreter. Um Java-Programme entwickeln und ausführen zu können, benötigen Sie also ein JDK. Für jede Ausführung (zum Beispiel Java SE oder Java EE) existiert für jede unterstützte Rechner-Plattform ein JDK. Sie müssen sich also im ersten Schritt für eine Ausführung entscheiden (in diesem Studienbrief benötigen Sie die Java SE) und im zweiten Schritt müssen Sie festlegen, auf welcher Rechner-Plattform Sie Java-Programme entwickeln und ausführen möchten. Mit diesem Wissen können Sie nun auf folgender Webseite das passende JDK herunterladen. Zuerst wählen Sie dort die Java SE aus, und dann suchen Sie unter Downloads die Rechner-Plattform, auf der Sie entwickeln möchten. Beispielsweise wählen Sie Windows x86 aus, wenn Sie Windows als 32-Bit- Betriebssystem installiert haben, oder Windows x64, wenn Sie Windows als 64-Bit- Betriebssystem installiert haben. Falls Sie sich unsicher sind, ob Sie Windows als 32- oder als 64-Bit-Betriebssystem installiert haben, schauen Sie bitte in der Systemsteuerung unter System nach. Unter Systemtyp finden Sie dort die benötigte Angabe.

8 7 Laden Sie die entsprechende Datei auf Ihren Rechner und starten Sie die Installation. Achten Sie während der Installation auf den Installationspfad, damit Sie wissen, wo das JDK installiert wurde. Unter Windows erfolgt die Installation typischerweise unter: C:\Programme\Java. Nach der Installation befinden sich darin die beiden Verzeichnisse jre7 und jdk1.7.0_xx. Das xx steht hierbei stellvertretend für die Update- Version, wie beispielsweise 02. Im Verzeichnis jdk1.7.0_xx werden mehrere Verzeichnisse angelegt, unter anderem ein Verzeichnis namens bin. In diesem Verzeichnis befinden sich die Werkzeuge javac.exe (Java-Compiler) und java.exe (Java-Bytecode-Interpreter), die Sie zum Übersetzen und Ausführen Ihrer Java-Programme benötigen. Im Unterverzeichnis jre\lib befindet sich auf mehrere Archive aufgeteilt die Java-Klassenbibliothek. Die Unterscheidung JRE und JDK, die Sie auch in den installierten Verzeichnissen wiederfinden, hat die folgende Bedeutung: Eine Java Runtime Environment (JRE) beinhaltet nur diejenigen Bestandteile eines JDKs, welche zum Ausführen von Java-Programmen benötigt werden. Damit besteht eine JRE aus einem Bytecode-Interpreter für die jeweilige Rechner- Plattform und der Java-Klassenbibliothek. Definition: Java Runtime Environment (JRE) Um zu testen, ob nach der Installation noch Konfigurationen auf Ihrem Betriebssystem erforderlich sind, öffnen Sie eine Kommandozeile (Eingabeaufforderung) und geben bitte Folgendes in separaten Zeilen ein: java -version javac -version Als Ausgabe sollten Sie jeweils eine Versionsangabe wie beispielsweise 1.7.0_xx erhalten. Sollten die Befehle nicht gefunden werden, die ausgegebene Version nicht derjenigen entsprechen, die Sie installiert haben oder die Versionsangaben unterschiedlich sein, müssen Sie die Umgebungsvariablen JAVA_HOME, PATH oder CLASSPATH überprüfen und gegebenenfalls explizit setzen. Für das Setzen der Umgebungsvariablen JAVA_HOME, PATH oder CLASSPATH sehen Sie bitte in (HEINISCH et al., 2010) nach. Durch Nachschlagen der Stichwörter JAVA_HOME, PATH oder CLASSPATH im Index finden Sie die richtige Stelle im Buch. Falls alles passt, können Sie nun unmittelbar mit.1.2 fortfahren, um das erste Java-Programm in einem Editor zu erstellen und auszuführen. Falls Sie nach dem Erstellen und Ausführen des ersten Java-Programmes neugierig sind, wie man ein Java- Programm in der Entwicklungsumgebung Eclipse erstellt und zum Laufen bringt, kehren Sie einfach zu zurück Entwicklungsumgebung Eclipse Eclipse ist eine Entwicklungsumgebung, die über eine komfortable grafische Bedienoberfläche dem Programmierer einfachen und direkten Zugriff auf alle benötigten Entwicklungswerkzeuge bietet, um Java-Programme zu schreiben und auszuführen. So findet sich in Eclipse integriert ein komfortabler Editor, um Java-Programme einzutippen, sowie Bedienelemente, um Java-Programme direkt auszuführen oder zu debuggen. Auf Syntaxfehler im Java-Programm wird der Programmierer bereits beim Eintippen hingewiesen und beim Speichern des Programmes wird automatisch der Java-Compiler

9 8 aufgerufen. Da viele Dinge automatisch erfolgen, ist es für einen Anfänger oftmals schwer zu erkennen, was wirklich passiert. Was für einen erfahrenen Programmierer Komfort darstellt, wirkt für den Einsteiger aufgrund der vielfältigen Möglichkeiten, die zu Beginn auch gar nicht benötigt werden, verwirrend. Für Programmierer, die bereits mit Entwicklungsumgebungen gearbeitet haben, oder vielleicht sogar Eclipse beim Programmieren in anderen Programmiersprachen schon kennen gelernt haben, bietet es sich natürlich an, den Studienbrief unter Einsatz der Entwicklungsumgebung Eclipse durchzuarbeiten, um auf den gewohnten Komfort nicht verzichten zu müssen. Die Entwicklungsumgebung Eclipse können Sie kostenlos unter folgendem Link heruntergeladen: Unter Download Eclipse und danach Eclipse IDE for Java Developers können Sie unter Angabe Ihrer Rechner-Plattform Eclipse auf Ihren Rechner laden. Zur Installation müssen Sie das heruntergeladene Archiv in einen Ordner ihrer Wahl extrahieren und können dann die Anwendung eclipse.exe direkt starten. Abbildung 1 zeigt die grafische Bedienoberfläche von Eclipse nachdem das Beispielprogramm im folgenden.1.2 eingetippt und gespeichert wurde. Unterhalb des Editor-Fensters wird nach dem Ausführen die Ausgabe des Programmes angezeigt. Die Ausführung eines Java-Programmes in Eclipse erfolgt durch Drücken des weißen Pfeiles, der nach rechts zeigt und sich in einem grün ausgefüllten Kreis befindet. Im Hintergrund wird dann der Java-Bytecode-Interpreter java aufgerufen. Abbildung 1: Grafische Bedienoberfläche der Entwicklungsumgebung Eclipse Neben Eclipse gibt es noch eine Vielzahl weiterer Entwicklungsumgebungen, um Java- Programme zu entwickeln. Einige seien hier exemplarisch genannt: P BlueJ ist eine Entwicklungsumgebung zur Einführung in die Programmiersprache Java. Weitere Informationen finden Sie unter

10 9 P JBuilder ( ist eine kommerzielle Entwicklungsumgebung. P JCreator ( ist ebenfalls eine kommerzielle Entwicklungsumgebung. Zum Durcharbeiten des Studienbriefs können Sie neben dem JDK eine der genannten oder eine andere Entwicklungsumgebung für Java verwenden Das Programm Hello, World! Nach dem Exkurs zu den benötigten Werkzeugen werden Sie hier lernen, wie Sie ein Java-Programm im Editor schreiben und wie Sie den Java-Compiler (javac) und den Java-Bytecode-Interpreter (java) des JKDs einsetzen. Öffnen Sie einen Editor ihrer Wahl und geben Sie den Text ein, den Sie im folgenden Bild sehen: Abbildung 2: Editor Notepad unter Windows mit dem Hello, world! -Programm Bitte achten Sie beim Eintippen des Programms im Text-Editor und bei der Vergabe des Dateinamens auf die Groß- und Kleinschreibung, da in Java zwischen Groß- und Kleinbuchstaben unterschieden wird. Man sagt auch: Java ist case sensitiv. Java ist case sensitiv. Die genaue Bedeutung des Java-Quellcodes wie class, public, static oder System.out.println() werden Sie im Laufe des Studienbriefs noch kennenlernen. Wichtig ist im ersten Schritt, dass Sie Programme mithilfe von Compiler und Interpeter zur Ausführung bringen können. Speichern Sie das Programm unter dem Dateinamen HelloWorld.java ab. Achten Sie beim Speichern darauf, dass nicht eine zusätzliche Endung wie beispielsweise.txt hinzugefügt wird. Im nächsten Schritt müssen Sie das erstellte Programm durch den Compiler javac in Java-Bytecode übersetzen. Hierzu öffnen Sie eine Kommandozeile (Eingabeaufforderung), wechseln in das Verzeichnis, in welchem Sie die Datei HelloWorld.java abgespeichert haben, und geben Folgendes ein: javac HelloWorld.java Danach drücken Sie die <RETURN>-Taste. Der javac-compiler übersetzt dann den Java-Quellcode in der Datei HelloWorld.java in Java-Bytecode und legt diesen in der Datei HelloWorld.class ab. Zur Ausführung des Bytecodes der Datei HelloWorld.class rufen Sie durch Eingabe von java HelloWorld

11 10 und anschließendem Drücken der <RETURN>-Taste den Interpreter auf. Der Bytecode- Interpreter übersetzt nun den Bytecode in der Datei HelloWorld.class in Maschinencode und bringt diesen direkt zur Ausführung. Bitte beachten Sie, dass der Interpreter java den Klassennamen HelloWorld und nicht den vollständigen Dateinamen HelloWorld.class verlangt. Der Aufruf von Compiler und Interpreter sieht in der Windows-Eingabeaufforderung wie folgt aus: Abbildung 3: Kompilieren und Starten über Kommandos in der Windows-Konsole Das erste Programm macht nichts anderes, als Hello, world! auf dem Bildschirm auszugeben. Schreiben Sie das Programm so um, dass ein beliebiger anderer Text ausgegeben wird. Speichern Sie Ihr Programm und übersetzen Sie es erneut. Danach bringen Sie das Programm nochmals zur Ausführung, um die Veränderung in der Textausgabe zu überprüfen. P Um Java-Programme schreiben und ausführen zu können, benötigen Sie einen Editor und eine Java-Plattform, die p einen Java-Compiler (javac) p die Java-Klassenbibliothek p einen Java-Interpreter (java) enthält. P Das Java Development Kit (JDK) von der Firma Oracle ist eine Java-Plattform mit einem für die jeweilige Rechner-Plattform spezifischen Java-Bytecode-Interpreter. P Eclipse ist eine Entwicklungsumgebung, die Zugriff auf alle benötigten Entwicklungswerkzeuge bietet. K [1] Was benötigt man, um ein Java-Programm zu schreiben und auszuführen? Versuchen Sie, bei Ihrer Antwort die folgenden Begriffe zu verwenden und diese in einen logischen Zusammenhang zu bringen: Editor, Java-Quellcode, Java-Compiler, Java-Bytecode, Java-Klassenbibliothek und Java-Interpreter. K [10] Analysieren Sie Ihr Hello, World! -Programm. An welcher Stelle im Programm verwenden Sie bereits die Java-Klassenbibliothek? Falls Sie diese Frage noch nicht beantworten können, notieren Sie einfach ihre Vermutung und verifizieren Sie diese nach dem Durcharbeiten von weiteren Kapiteln. K [6] Recherchieren Sie in (HEINISCH et al., 2010) nach dem Stichwort Bytecode. Finden Sie heraus, welche Vorteile die Übersetzung in einen Zwischencode den Bytecode hat.

12 Das objektorientierte Konzept Das Handwerkszeug zum Programmieren in Java haben Sie nun kennen gelernt. Sie sollen in Java aber nicht nur programmieren, sondern Sie sollen objektorientiert programmieren. Aus diesem Grund müssen Sie verstehen, was sich hinter dem objektorientierten Konzept (alternative Begriffe: objektorientierter Ansatz, objektorientiertes Paradigma oder einfach Objektorientierung) verbirgt. Das objektorientierte Konzept beeinflusst nicht nur die Programmierung, sondern auch die Tätigkeiten in Analyse und Entwurf, die der Implementierung vorgelagert sind. Abbildung 4 setzt die Begriffe, die Ihnen im Rahmen des objektorientierten Konzeptes begegnen, zueinander in Beziehung. objektorientiertes Konzept Objektorientierte Objektorientierte Modellierung (OOM) Programmierung (OOP) Abbildung 4: Das objektorientierte Konzept und damit verbundene Begriffe Analyse Entwurf Implementierung Notation: Unified Modelling Language (UML) Programmiersprache: Java, C++, C#, Erfolgen die Tätigkeiten in Analyse und Entwurf nach dem objektorientierten Konzept und die Ergebnisdokumentation in UML, so spricht man von einer objektorientierten Modellierung. Erfolgt die Implementierung konform zum objektorientierten Konzept in einer objektorientierten Programmiersprache, so spricht man von einer objektorientierten Programmierung. Während die objektorientierte Modellierung dem Software-Engineering zugeordnet wird, wird die objektorientierte Programmierung typischerweise im Rahmen einer objektorientierten Programmiersprache gelehrt Die Denkweise in Objekten und Klassen Für das objektorientierte Konzept ist das Denken in Objekten und Klassen von zentraler Bedeutung. Möchte man Aufgaben, die bisher manuell erledigt wurden, durch den Einsatz eines EDV-Systems unterstützen, so stellt man sich beim objektorientierten Ansatz folgende Fragen: P Mit welchen Objekten hat man es beim Erledigen der Aufgaben zu tun? P Welche Eigenschaften dieser Objekte sind im Rahmen der zu erledigenden Aufgaben von Bedeutung? P Was wird mit den Objekten gemacht? Diese drei Fragestellungen werden in den folgenden Unterkapiteln beleuchtet.

13 Finden der relevanten Objekte und Klassen Möchte man beispielsweise die Aufgaben einer Bibliothek die bisher mithilfe von Karteikarten und manuell gepflegten Listen durchgeführt wurden durch Einsatz eines EDV-Systems unterstützen, so werden mit Sicherheit die vielen Buch-Objekte, die es in der Bibliothek gibt, ins Auge fallen. Jedes in der Bibliothek existente Buch ist in der Objektorientierung ein eigenes Buch-Objekt, das beispielsweise ausgeliehen und wieder zurückgegeben werden kann. Objekte können nicht nur Gegenstände sein (wie die konkret existenten Bücher), sondern auch Wesen, die im Rahmen der Aufgaben von Bedeutung sind. Stellt man sich als Beobachter in die Bibliothek, so kann man sehen, wie Personen in die Bibliothek kommen und Bücher mitnehmen bzw. zurückbringen. Bei genauem Betrachten der Personen, und der von ihnen durchgeführten Tätigkeiten, erkennt man recht schnell, dass es sich nicht um beliebige Personen handelt, sondern um Personen, die in der Bibliothek registriert sind und einen Bibliotheksausweis besitzen. Personen, die einen Bibliotheksausweis besitzen, werden fortan als Ausleiher-Objekte bezeichnet. Damit wären die wichtigsten Objekte die Buch-Objekte und die Ausleiher-Objekte für die zukünftige Bibliotheksverwaltung bereits gefunden. Was kann zum Objekt werden? Neben existenten Gegenständen in der realen Welt (wie z. B. Bücher) können auch Wesen (wie z. B. Ausleiher oder Mitarbeiter) oder Konzepte (wie z. B. Versicherungsverträge oder Rechnungen) relevante Objekte darstellen. Hat man die relevanten Objekte gefunden, so ist es ein ganz kleiner Schritt zu den Klassen. Für die vielen Buch-Objekte wird die Klasse Buch eingeführt und für die vielen Ausleiher-Objekte wird die Klasse Ausleiher eingeführt. Unter einer Klasse werden alle gleichartigen Objekte zusammengefasst. Aus Sicht einer objektorientierten Programmiersprache ergibt sich folgende Definition: Definition: Klasse und Objekt Klassen stellen die Baupläne für Objekte dar. Die Klassen sind die Datentypen, die Objekte die Variablen (Instanzen) dieser Datentypen. Ein Objekt wird gemäß dem Bauplan der Klasse erzeugt. Aus der Programmiersprache C kennen Sie beispielsweise den Datentyp int. Von diesem Datentyp können Variablen (z. B. int i oder int j) erzeugt und den Variablen können individuelle Werte (z. B. i = 5 und j = 6) aus dem Wertebereich des Datentyps int zugewiesen werden. In Analogie zu diesem einfachen Datentyp den es auch in Java gibt stellt eine Klasse nichts anderes als einen zusammengesetzten, selbst definierten Datentyp dar. Im Rahmen der Bibliotheksverwaltung führen wir also die neuen Datentypen Buch und Ausleiher ein. Von diesen Datentypen können dann beliebig viele Variablen (Objekte, Instanzen) erzeugt und mit den für das konkrete Buch- oder Ausleiher-Objekt charakteristischen Werten initialisiert werden. Damit man eine Klasse in der Form eines Datentyps beschreiben kann, muss man sich überlegen, aus welchen Daten (alternative Begriffe: Eigenschaften, Datenfeldern, Attributen) sich der Datentyp zusammensetzen soll. Mit dieser Frage werden Sie sich im nächsten Kapitel beschäftigen.

14 Finden relevanter Eigenschaften von Objekten bzw. Klassen Die relevanten Eigenschaften eines Objektes bzw. einer Klasse werden in objektorientierten Programmiersprachen typischerweise als Datenfelder bezeichnet. Es ist also die Frage zu beantworten, welche Datenfelder im Rahmen der zu automatisierenden Aufgaben für die gefundenen Klassen von Bedeutung sind. Für die betrachtete Klasse Buch könnten dies unter anderem sein: Buchnummer, ISBN, Titel, Autor und Auflage. Für die betrachtete Klasse Ausleiher könnten dies unter anderem sein: Ausleihernummer, Vorname, Name und Anschrift. Die Darstellung der Klasse Buch in der UML könnte nach ersten Überlegungen wie folgt aussehen: Buch buchnummer ISBN titel autoren auflage erscheinungsjahr KlassennameBuch private Datenfelder Abbildung 5: Klasse Buch mit ersten privaten Datenfeldern Die UML ist wie bereits erwähnt die grafische Notationssprache, die für das objektorientierte Konzept eingesetzt wird. Klassen wie auch Objekte werden in der UML durch ein Rechteck dargestellt. Bei einer Klasse steht oben im Rechteck der Klassenname in Fettdruck. Es folgen die Datenfelder. In Abbildung 5 steht vor den Datenfeldern ein kleiner Strich. Der kleine Strich bedeutet, dass das jeweilige Datenfeld nur von den Methoden der eigenen Klasse verändert werden kann. Man sagt auch, die Datenfelder sind privat. Wie die relevanten Methoden gefunden werden können, wird im nächsten Kapitel erläutert. Die Darstellung eines exemplarischen Objektes buch1 der Klasse Buch sieht in der UML wie folgt aus: buch1:buch buchnummer = AF1001 ISBN = titel = Java als erste Programmiersprache autoren = Heinisch, Müller-Hofmann, Goll auflage = 6 erscheinungsjahr = 2010 Objektnamebuch1 KlassennameBuch Datenfelder mit individuellen Werten für das Objektbuch1 Abbildung 6: Objekt buch1 der Klasse Buch mit individuellen Werten In der UML-Notation steht bei einem Objekt oben im Rechteck der Objektname gefolgt von einem Doppelpunkt. Hinter dem Doppelpunkt steht der Name jener Klasse, von welcher das Objekt erzeugt wurde. Handelt es sich um ein ganz konkretes Objekt, so wird Objektname:Klassenname unterstrichen. Wäre ein beliebiges Objekt der Klasse Buch gemeint, so würde man nur :Buch (ohne Unterstreichung) in das Rechteck schreiben. In diesem Fall wären die Datenfelder auch nicht mit individuellen Werten belegt. Unterscheidung konkretes und beliebiges Objekt in der UML

15 Finden relevanter Methoden von Objekten bzw. Klassen Zu einer Klasse bzw. zu einem Objekt gehören nicht nur Datenfelder, sondern auch Methoden. Zum Finden der relevanten Methoden ist folgende Frage zu beantworten: Was kann man mit den Objekten machen? Konkret auf unser Beispiel bezogen lautet die Frage: Was kann man mit den Buch-Objekten in der Bibliothek machen bzw. was tun die Ausleiher-Objekte in der Bibliothek? Stellt man sich als Beobachter in die Bibliothek, so sieht man Folgendes: Ein Buch wird von einem Ausleiher ausgeliehen, ein Buch wird von einem Ausleiher zurückgegeben, ein Buch wird in die Bibliothek aufgenommen, ein Buch wird durch den Bibliothekar in ein Regal gestellt, ein Buch wird durch den Ausleiher aus einem Regal geholt, usw. Damit die relevanten Methoden für die Objekte gefunden werden, muss man sich nun die Frage stellen, welche der beobachtbaren Vorgänge, bzw. welche Teile der beobachtbaren Vorgänge tatsächlich automatisiert werden sollen. Unterscheidung Geschäftsprozess und Anwendungsfall Durch Beobachten der Abläufe in der Bibliothek werden die sogenannten Geschäftsprozesse identifiziert. Für die spätere Programmierung sind jedoch die sogenannten Anwendungsfälle relevant. Die Anwendungsfälle werden gefunden, indem man die Geschäftsprozesse genau analysiert und festlegt, welche Teile durch das neue System automatisiert werden sollen. Der Geschäftsprozess Buch ausleihen lässt sich beispielsweise in folgende Schritte zerlegen: P Buchrecherche durchführen P Buchverfügbarkeit prüfen P Buch aus Regal holen P Ausleiher identifizieren P Buch für Ausleiher als entliehen buchen Für die Schritte Buchrecherche durchführen, Buchverfügbarkeit prüfen, Ausleiher identifizieren und Buch für Ausleiher als entliehen buchen wird man weiter prüfen, inwiefern diese automatisiert werden können. Prinzipiell kann auch der Schritt Buch aus Regal holen automatisiert werden. Der tatsächliche Automatisierungsgrad ist je nach Projekt und Projektbudget, sowie den Zielen des Auftraggebers individuell festzulegen. Für jeden zu automatisierenden Schritt ist zu prüfen, welche Objekte mit welchen Methoden hier unterstützen können. Analysieren wir beispielhaft das Buch-Objekt : Ein einzelnes Buch-Objekt kann keine Recherche durchführen, aber ein einzelnes Buch-Objekt kann seine Daten für die Buch-Recherche zur Verfügung stellen. Es bietet beispielsweise eine Methode getdata() oder spezifischer gettitel() usw. an. Um die Verfügbarkeit eines Buches zu prüfen, benötigt ein Buch einerseits das Wissen, wie viele Exemplare des Buches überhaupt in der Bibliothek geführt werden, und andererseits eine Möglichkeit, die verfügbaren Buchexemplare abzufragen. Durch diese Überlegung wird erkannt, dass für das Buch-Objekt zum einen ein neues Datenfeld anzahlexemplare und zum anderen eine Methode getanzahlexemplare() benötigt wird. Schritt für Schritt werden über die Analyse der zu automatisierenden Aufgaben in anderen Worten durch die Analyse der Anwendungsfälle neue Methoden und Datenfelder gefunden. Nach einigen Überlegungen könnte die UML-Notation der Klasse Buch wie folgt aussehen:

16 15 Buch buchnummer ISBN titel autoren auflage erscheinungsjahr anzahlexemplare anzahlverliehen KlassennameBuch private Datenfelder Abbildung 7: Klasse Buch mit Datenfeldern und Methoden gettitel() getisbn() isverfügbar() getanzahlexemplare() Methoden Identifiziert man Vorgänge, die man keiner bereits bekannten Klasse als Methoden zuordnen kann, so muss man überlegen, ob eine neue Klasse benötigt wird. Das systematische Analysieren der Anwendungsfälle und das Finden von benötigten Klassen, Datenfeldern und Methoden ist Kernaufgabe der objektorientierten Modellierung. Auf die Einzelheiten der objektorientierten Modellierung kann hier nicht vertieft eingegangen werden. Sie müssen jedoch die grundlegenden Zusammenhänge verstehen: Im objektorientierten Konzept werden Objekte, sowie deren Datenfelder und Methoden, durch Beobachten der Realität gefunden. Das während der Analysetätigkeiten erstellte und später durch die Entwurfstätigkeiten verfeinerte Modell wird im Rahmen der objektorientierten Programmierung in eine objektorientierte Programmiersprache übersetzt. Um gute objektorientierte Programme zu schreiben, genügt es nicht, eine objektorientierte Programmiersprache zu beherrschen, ausschlaggebend ist, dass zuvor das richtige objektorientierte Modell erstellt wird Objektorientiertes versus funktionsorientiertes Konzept Welche Unterschiede gibt es zwischen dem klassischen funktionsorientierten und dem objektorientierten Konzept? Um diese Frage zu beantworten, vorab eine kurze Wiederholung, was unter dem funktionsorientierten Konzept verstanden wird: Für das funktionsorientierte Konzept ist kennzeichnend, dass im Entwurf eine Zerlegung des Systems in Haupt- und Unterprogramme erfolgt. Anstatt von Haupt- bzw. Unterprogrammen, wird auch von Funktionen bzw. Prozeduren gesprochen. Für die Implementierung kommen prozedurale Programmiersprachen wie beispielsweise C zum Einsatz. Definition: Funktionsorientiertes Konzept Die folgenden Argumente (GOLL, 2011) sollen einen Einblick in die essenziellen Unterschiede zwischen funktionsorientiertem und objektorientiertem Konzept geben: P (Mangelnder) Schutz der Daten: Im funktionsorientierten Konzept werden die Daten von Funktion zu Funktion weitergereicht und innerhalb der Funktionen verändert. Unter Umständen wird sogar mit globalen Daten gearbeitet, die in allen Funktionen verändert werden können. Bei dieser Vorgehensweise verliert man leicht den Über- Schutz der Daten

17 16 blick, welche Auswirkungen eine Datenänderung auf andere Funktionen hat und welche Funktion für eventuell fehlerhafte Daten verantwortlich ist. Im objektorientierten Konzept werden Daten und zugehörige Methoden als eine Einheit betrachtet. Eine Klasse bzw. ein Objekt beinhaltet sowohl die relevanten Daten als auch die Methoden, welche auf diesen Daten arbeiten. Die Daten können nur von den Methoden der eigenen Klasse verändert werden. Man sagt auch, die Daten sind vor dem Zugriff von außen geschützt. Verständlichkeit gegenüber dem Kunden Zusammenhang zwischen Systemanalyse und Systementwurf Übersicht bei großen Systemen Wiederverwendbarkeit von Quellcode P (Mangelnde) Verständlichkeit gegenüber dem Kunden: Die Trennung von Daten und Funktionen im funktionsorientierten Konzept führt dazu, dass der Auftraggeber seine Aufgabenstellung in den Analyse- und Entwurfsmodellen nicht mehr erkennen kann. Der Entwickler beginnt oftmals unverzüglich im Lösungsbereich zu denken. Die Begriffswelt und die Modelle des Lösungsbereichs sind für den Auftraggeber aber nicht verständlich. Im objektorientierten Konzept erfolgt die Modellierung in der Begriffswelt des Kunden. Die Objekte aus der Begriffswelt des Kunden werden mit ihren Eigenschaften und Methoden in ein Modell transferiert und später in einer objektorientierten Programmiersprache programmiert. Dies führt dazu, dass der Auftraggeber die Modelle besser verstehen kann. Hierdurch kann einfacher sichergestellt werden, dass die Entwickler genau das System bauen, welches der Kunde benötigt. P (Mangelnder) Zusammenhang zwischen Systemanalyse und Systementwurf: Im funktionsorientierten Ansatz gibt es keine eindeutige Abbildung der Datenflussdiagramme der strukturierten Analyse in den Systementwurf. Dieser Methodenbruch macht es schwierig, nachzuvollziehen, ob die Ergebnisse der Systemanalyse korrekt in den Systementwurf und den Programmcode überführt worden sind. Im objektorientierten Konzept gibt es keinen Methodenbruch. Mit Beginn des Projektes wird in Klassen und Objekten gedacht. In Systemanalyse und -entwurf werden die Modelle kontinuierlich erweitert und vervollständigt. Das letzte Modell des Entwurfs ist die Grundlage für die Implementierung. Es ist sogar möglich, die objektorientierten Entwurfsmodelle so genau zu beschreiben, dass eine automatische Code-Generierung durchgeführt werden kann. P (Mangelnde) Übersicht bei großen Systemen: Im funktionsorientierten Ansatz können mehrere Anweisungen zu Funktionen gebündelt werden. Bei komplexen und umfangreichen Systemen erhält man sehr viele Funktionen. Mit zunehmender Systemgröße wird es damit immer schwieriger, den Überblick zu behalten. Im objektorientierten Konzept stehen mit Klassen und Paketen größere Strukturierungseinheiten zur Verfügung. Bei einer korrekten Verwendung von Klassen und Paketen lässt sich die Komplexität von großen Systemen damit besser beherrschen. P (Mangelnde) Wiederverwendbarkeit von Quellcode: Gekoppelt mit der mangelnden Übersicht ist eine mangelnde Wiederverwendbarkeit im funktionsorientierten Ansatz. Erkennt man aufgrund der hohen Komplexität vorhandene Bausteine nicht, kann man sie auch nicht verwenden. Oftmals lohnt sich die Suche nach wiederverwendbaren Teilen nicht, da Suchaufwand und Nutzen aufgrund der geringen Größe der Bausteine nicht in einem vernünftigen Verhältnis stehen. Für die Wiederverwendbarkeit im objektorientierten Konzept ist ausschlaggebend, dass Klassen modelliert werden, die zusammengehörige Daten und Methoden in eine Einheit packen. Als weiterer Strukturierungsbaustein werden dann Pakete gebündelt, die zusammengehörige Klassen in eine Einheit packen. Auf der Basis gut durchdachter Klassen, können dann weitere Mechanismen wie Komposition, Aggregation, Vererbung und Polymorphie eingesetzt werden, um eine optimale Wiederverwendbarkeit zu erlangen.

18 17 Es ist jedoch falsch, zu glauben, dass man durch Einsatz der Objektorientierung automatisch eine höhere Wiederverwendung erhält. Dies ist nur dann der Fall, wenn die Entwickler in der Lage sind, Klassen zu entwerfen, die zusammengehörige Daten und Methoden bündeln sowie klare und wohl definierte Schnittstellen besitzen. P (Mangelnde) Stabilität: Ein Entwurf in der funktionsorientierten Vorgehensweise ist sehr empfindlich gegenüber nachträglichen Änderungen. Daten und Funktionen sind getrennt. Kommen neue Funktionen oder Daten hinzu, so kann dies erhebliche Änderungen des Programmgefüges nach sich ziehen. Es kann sein, dass die Aufrufhierarchie komplett neu entworfen werden muss. Im objektorientierten Konzept beschränken sich Änderungen oftmals nur auf einzelne Klassen. Bleiben die Schnittstellen einer Klasse stabil (das sind die nach außen sichtbaren Methoden), dann können beispielsweise innerhalb der Klasse die Algorithmen komplett geändert werden, ohne dass andere Klassen angepasst werden müssen. Man erhält allerdings ebenso wie bei der Wiederverwendbarkeit nur dann eine sehr gute Stabilität, wenn die Klassen sorgfältig und durchdacht entworfen wurden. Stabilität Das objektorientierte Konzept ermöglicht das Denken in Objekten vom Start des Projektes bis zur Programmierung. Damit existiert ein durchgängiges Denkschema von der realen Welt über die Welt der Modellierung bis in die Welt der Programmierung. Beim Schritt von der realen Welt in die Welt der Modellierung muss man festlegen, was von der realen Welt für die zu bauende Software von Interesse ist. Beim Schritt von der Welt der Modellierung in die Welt der Programmierung wird das Modell auf die Sprachkonstrukte der Programmiersprache abgebildet. Welche Sprachkonstrukte die objektorientierte Programmiersprache Java hierfür zur Verfügung stellt, werden Sie im nächsten Kapitel erfahren. P Bei einer objektorientierten Modellierung erfolgen die Tätigkeiten in Analyse und Entwurf nach dem objektorientierten Konzept und die Ergebnisse werden in UML dokumentiert. P Bei der objektorientierten Programmierung erfolgt die Implementierung konform zum objektorientierten Konzept in einer objektorientierten Programmiersprache. P Fragestellungen des objektorientierten Ansatzes sind: p Welche Objekte bzw. Klassen sind relevant? p Welche relevanten Eigenschaften besitzen die Objekte bzw. Klassen? p Was wird mit den Objekten gemacht? Welche Methoden sind für die Objekte bzw. Klassen relevant? P Gegenstände der realen Welt, Wesen oder Konzepte können Objekte darstellen. P Klassen stellen die Baupläne für Objekte dar, ein Objekt wird gemäß diesem Bauplan erzeugt. Zeichnen Sie in der UML-Notation eine Klasse Ausleiher mit den Datenfeldern ausleihernummer, name, vorname, strasse, hausnummer, plz und ort sowie den exemplarischen Methoden getausleihernummer() und getname(). Zeichnen Sie ferner ein beliebiges Objekt der Klasse Ausleiher und ein spezifisches Objekt der Klasse Ausleiher. Belegen Sie die Datenfelder des spezifischen Objektes mit beispielhaften Werten und vergeben Sie den Objektnamen ausleiher1. K [2]

19 18 K [35] Was ist der Unterschied zwischen einer Klasse und einem Objekt? K [23] Wie werden im objektorientierten Konzept Klassen bzw. Objekte, Datenfelder und Methoden gefunden? K [22] Was ist die Grundlage dafür, dass im objektorientierten Konzept eine höhere Wiederverwendbarkeit und eine bessere Stabilität als im funktionsorientierten Konzept erreicht werden kann? 1.3 Objektorientierung in Java Dieses Kapitel soll folgende Frage beantworten: Wie ist das objektorientierte Konzept in der Programmiersprache Java abgebildet? Sie lernen in diesem Kapitel, wie Klassen programmiert und Objekte erzeugt werden. Darüber hinaus begegnen Sie dem Konzept der Vererbung, den Schnittstellen und den Paketen. Abschließend werden Sie noch lernen, wie Sie die Java-Klassenbibliothek in Ihren eigenen Programmen verwenden können Klassen und Objekte Klassen bzw. Objekte sind die wichtigsten Bausteine im objektorientierten Konzept. Deshalb werden Sie zuallererst eine Klasse Person programmieren und von der Klasse Person mehrere Objekte erzeugen. Öffnen Sie einen Editor und erstellen Sie die folgenden beiden Java-Quellcode-Dateien in einem Ordner beispiele. In dem Ordner beispiele sollten sich dann die beiden Dateien Person.java und TestPerson.java befinden. // Datei: Person.java public class Person // Klassendeklaration der Klasse Person private String name; // privates Datenfeld name private String vorname; // privates Datenfeld vorname // Methode, um den Namen zu setzen. public void setname (String n) name = n; // Methode, um den Vornamen zu setzen. public void setvorname (String v) vorname = v; // Methode, um den Namen abzufragen. public String getname() return name;

20 19 // Methode, um den Vornamen abzufragen. public String getvorname() return vorname; // Datei: TestPerson.java public class TestPerson public static void main (String[] args) // Objekt der Klasse Person anlegen. Person p1 = new Person(); // Datenfelder mit Werten belegen. p1.setname ("Mustermann"); p1.setvorname ("Max"); // Nochmal ein Objekt der Klasse Person anlegen. Person p2; p2 = new Person(); // Datenfelder mit Werten belegen. p2.setname ("Meister"); p2.setvorname ("Ralf"); // Name und Vorname der Personen ausgeben. System.out.println (p1.getname() + " " + p1.getvorname()); System.out.println (p2.getname() + " " + p2.getvorname()); Öffnen Sie eine Eingabeaufforderung und wechseln Sie in Ihr Verzeichnis beispiele. Prüfen Sie, dass sich dort nun die beiden Dateien Person.java und TestPerson.java befinden. Als nächstes müssen Sie die beiden Java-Quellcode-Dateien mithilfe des Java-Compilers javac in Java-Bytecode übersetzen. Hierzu genügt es, wenn Sie Folgendes in der Kommandozeile eingeben: javac TestPerson.java Der Compiler javac übersetzt dann die Datei TestPerson.java in die Java- Bytecode-Datei TestPerson.class. Der Compiler erkennt automatisch, dass innerhalb des Quellcodes der Datei TestPerson.java eine Klasse Person verwendet wird und sucht im aktuellen Verzeichnis, ob eine entsprechende Datei zu finden ist. Findet der Compiler eine Datei Person.java, so wird diese automatisch auch übersetzt und der zugehörige Bytecode wird in der Datei Person.class abgelegt. Existiert bereits eine Datei Person.class, so wird geprüft, ob die Datei Person.class älter ist als die Datei Person.java. Ist dies der Fall, so wird die Datei Person.java erneut übersetzt. Dieser Automatismus funktioniert allerdings nur dann, wenn Sie darauf achten, dass jede Klasse in einer eigenen Datei abgespeichert wird und dass Dateinamen und Klassennamen identisch sind. Es gehört in Java zu einem guten Programmierstil, diese Regel zu befolgen.

21 20 Sollte der Compiler Ihnen Fehlermeldungen anzeigen, so müssen Sie den Quellcode nochmals sorgfältig studieren und die Fehler beseitigen. Erst wenn der Compiler keine Fehler mehr anzeigt und sich im Verzeichnis beispiele zusätzlich die beiden Dateien Person.class und TestPerson.class befinden ist der Übersetzungsvorgang abgeschlossen und Sie können Ihr Programm mit dem Java-Interpreter java zur Ausführung bringen. Geben Sie hierzu Folgendes in der Kommandozeile ein: java TestPerson Nun sollten Sie folgende Ausgabe erhalten: Mustermann Max Meister Ralf Bevor es weitergeht, noch ein paar Hintergrundinformationen zum ersten objektorientierten Java-Programm: P Eine Erläuterung hinter einem Doppelschrägstrich ist ein Kommentar. Ein Kommentar dient der Dokumentation und hat keinen Einfluss auf die Ausführung des Programmes. P Eine Klasse wird in Java durch das Schlüsselwort class deklariert. Hinter dem Schlüsselwort class steht der Klassenname. Üblicherweise wird die Klasse als public deklariert. Dies bedeutet, dass die Klasse für alle anderen Klassen sichtbar (und damit verwendbar) ist. P Innerhalb der geschweiften Klammern folgt die sogenannte Klassendefinition mit den Datenfeldern und Methoden. Die UML-Notation für eine Klasse bestehend aus Klassennamen, Datenfeldern und Methoden lässt sich im Quellcode gut wiedererkennen. P Datenfelder werden mit dem Schlüsselwort private als privat gekennzeichnet. Das Schlüsselwort private entspricht in der UML-Darstellung dem Minuszeichen vor einem Datenfeldnamen. Auf private Datenfelder können nur die Methoden der eigenen Klasse zugreifen. P Methoden werden üblicherweise mit dem Schlüsselwort public als öffentlich sichtbar gekennzeichnet. Methoden, die mit public gekennzeichnet sind, können von anderen Klassen aus aufgerufen werden. Innerhalb der Klasse TestPerson können beispielsweise die Methoden getname() und setname() der Klasse Person aufgerufen werden. P Damit man die Methoden einer Klasse aufrufen kann, muss man zuerst ein Objekt erzeugen. Die Klasse ist ja nur der Bauplan (der Datentyp) für die Objekte (Variablen). Ein Objekt kann in Java nur durch den new-operator erzeugt werden. Nach dem Anlegen eines Objektes können den einzelnen Datenfeldern für dieses Objekt individuelle Werte zugewiesen werden. Ein Methodenaufruf erfolgt immer auf ein Objekt bezogen 1, da die Methoden die individuellen Werte des Objekts lesen oder verändern. 1 Diese Aussage gilt nur für Instanzmethoden. Klassenmethoden können auch ohne die Existenz eines Objektes aufgerufen werden. Klassenmethoden mit Ausnahme der Methode main() lernen Sie allerdings erst in Kapitel 2.5 kennen.

22 21 P Die Datenfelder name und vorname sind vom Datentyp String. In einer Variablen vom Datentyp String (z. B. name oder vorname) kann eine Zeichenkette abgelegt werden. Zeichenketten vom Datentyp String können über den Operator + miteinander verkettet werden. Diese Verkettungsfunktion kommt bei der Ausgabe mithilfe von System.out.println() zum Einsatz. P Es wird als guter Programmierstil angesehen, wenn man zum Test einer Klasse eine eigene Testklasse schreibt. Mit diesem Vorgehen ist der eigentliche Programmcode stets vom Programmcode für den Test separiert. Die Testklassen können dann bei einer späteren Auslieferung der Software einfach weggelassen werden und verbrauchen keinen unnötigen Speicherplatz. P Die Methode main() ist eine ganz besondere Methode. Jede Java-Anwendung benötigt eine Methode main(), da sie mit dem Aufruf der main()-methode ihre Ausführung beginnt. Beim Aufruf des Java-Interpreters mit java TestPerson wird vom Interpreter in der Klasse TestPerson die Methode main() gesucht und ausgeführt. Fehlt die Methode main(), oder ist diese nicht public, oder nicht static, so bricht der Interpreter mit einer Fehlermeldung ab. Das Schlüsselwort static kennzeichnet die Methode main() als Klassenmethode. Dies bedeutet, dass die Methode main() ohne die Existenz eines Objektes direkt (durch den Interpreter) aufgerufen werden kann. Jetzt haben Sie schon jede Menge über Java gelernt. Bevor es weiter geht, soll an dieser Stelle noch der Begriff der Referenzvariablen in Java erläutert werden. Sie haben Folgendes gelernt: Eine Klasse ist ein Datentyp und ein Objekt ist eine Variable. Ein Objekt kann in Java nur mithilfe des new-operators erzeugt werden. Mit new Person(); wird ein Objekt der Klasse Person angelegt. Damit man mit diesem Objekt etwas machen kann, benötigt man einen Zeiger auf dieses Objekt. Dieser Zeiger wird in Java Referenz bzw. Referenzvariable genannt. Eine Referenzvariable wird beispielsweise angelegt durch: Person p1; Die Referenzvariable p1 vom Datentyp Person man sagt vereinfacht vom Typ Person kann nun auf ein beliebiges Objekt vom Typ Person zeigen. Mit p1 = new Person(); wird der Referenzvariablen p1 als Wert die Adresse zugewiesen, an welcher das Objekt vom Typ Person durch den new-operator angelegt wurde. In Java wird eine Referenzvariable benötigt, um auf Objekte zuzugreifen, die mithilfe des new-operators im Speicher angelegt wurden. In einer Referenzvariablen wird als Wert die Adresse abgelegt, an welcher sich das Objekt im Speicher befindet. Definition: Referenzvariable

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 1 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2015 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello! 12.10.2015 Dr. Werner Struckmann / Stephan

Mehr

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien.

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien. Java 1 Einführung Grundlegende Übungsaufgaben Arbeitsauftrag 1.1 1. Formulieren Sie den Algorithmus nach den oben genannten Kriterien. Beispiel: Bedienung eines Getränkeautomaten

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 02. JAVA: Erstes Programm 1 Das erste Java-Programm

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Objektorientierte Programmierung OOP Programmieren mit Java

Objektorientierte Programmierung OOP Programmieren mit Java Aufgaben: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge Objektorientierte Programmierung OOP Programmieren mit Java 1. Installation von Java 2. Erstes Java Programm Hello World 3. Dreimal Hallo Olten 2

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Informationen zur Verwendung von Visual Studio und cmake

Informationen zur Verwendung von Visual Studio und cmake Inhaltsverzeichnis Informationen zur Verwendung von Visual Studio und cmake... 2 Erste Schritte mit Visual Studio... 2 Einstellungen für Visual Studio 2013... 2 Nutzung von cmake... 6 Installation von

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 In dieser Anleitung wird die Installation und Verwendung von Omodo eclipseuml 2.1.0 beschrieben. eclipseuml ist eine Zusatzsoftware für Eclipse,

Mehr

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung

Mehr

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

Mehr

Jederzeit Ordnung halten

Jederzeit Ordnung halten Kapitel Jederzeit Ordnung halten 6 auf Ihrem Mac In diesem Buch war bereits einige Male vom Finder die Rede. Dieses Kapitel wird sich nun ausführlich diesem so wichtigen Programm widmen. Sie werden das

Mehr

SRH - Kurzinformation

SRH - Kurzinformation SRH - Kurzinformation Dieses Dokument gibt eine Übersicht über das Shockley/Read/Hall-Programm, im folgenden SRH- Programm genannt. Bei dem SRH-Programm handelt es sich um ein Java Programm, welches in

Mehr

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005 Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der

Mehr

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,

Mehr

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG it4sport GmbH HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG Stand 10.07.2014 Version 2.0 1. INHALTSVERZEICHNIS 2. Abbildungsverzeichnis... 3 3. Dokumentenumfang... 4 4. Dokumente anzeigen... 5 4.1 Dokumente

Mehr

Einführung zu den Übungen aus Softwareentwicklung 1

Einführung zu den Übungen aus Softwareentwicklung 1 Einführung zu den Übungen aus Softwareentwicklung 1 Dipl.-Ing. Andreas Riener Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz riener@pervasive.jku.at SWE 1 // Organisatorisches

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

LEHRSTUHL FÜR DATENBANKEN

LEHRSTUHL FÜR DATENBANKEN LEHRSTUHL FÜR DATENBANKEN Informatik II für Verkehrsingenieure Java & Eclipse Installationsguide Prof. Dr.-Ing. Wolfgang Lehner > Was ist Eclipse? Eine sogenannte Integrierte Entwicklungsumgebung (engl.

Mehr

Installation OMNIKEY 3121 USB

Installation OMNIKEY 3121 USB Installation OMNIKEY 3121 USB Vorbereitungen Installation PC/SC Treiber CT-API Treiber Einstellungen in Starke Praxis Testen des Kartenlesegeräts Vorbereitungen Bevor Sie Änderungen am System vornehmen,

Mehr

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6 Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in

Mehr

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Handbuch und Dokumentation Beschreibung ab Vers. 1.13.5 Am Güterbahnhof 15 D-31303 Burgdorf Tel: +49 5136 802421 Fax: +49 5136 9776368 Seite 1

Mehr

Erste Schritte mit Microsoft Office 365 von Swisscom

Erste Schritte mit Microsoft Office 365 von Swisscom Inhaltsverzeichnis 1 Wichtigstes in Kürze... 2 2 Erstanmeldung bei Microsoft Office 365... 2 2.1 Basiskonfiguration... 4 2.2 Navigation in Office 365... 5 3 Nutzung von Microsoft Office 365... 6 3.1 Schreiben

Mehr

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Ludwig-Maximilians-Universität München Institut für Informatik Programmierung und Softwaretechnik (PST) Prof. Wirsing 6. Mai 2009 1 Der Name Java

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele

Mehr

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr

Tipps und Tricks zu den Updates

Tipps und Tricks zu den Updates Tipps und Tricks zu den Updates Grundsätzlich können Sie Updates immer auf 2 Wegen herunterladen, zum einen direkt über unsere Internetseite, zum anderen aus unserer email zu einem aktuellen Update. Wenn

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

Mehr

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 Die Installation der FuxMedia Software erfolgt erst NACH Einrichtung des Netzlaufwerks! Menüleiste einblenden, falls nicht vorhanden Die

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Aufklappelemente anlegen

Aufklappelemente anlegen Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie

Mehr

Anzeige von eingescannten Rechnungen

Anzeige von eingescannten Rechnungen Anzeige von eingescannten Rechnungen Wenn Sie sich zu einer Eingangsrechnung die eingescannte Originalrechnung ansehen möchten, wählen Sie als ersten Schritt aus Ihrem Benutzermenü unter dem Kapitel Eingangsrechnung

Mehr

Institut für Programmierung und Reaktive Systeme 26. April 2013. Programmieren II. 10. Übungsblatt

Institut für Programmierung und Reaktive Systeme 26. April 2013. Programmieren II. 10. Übungsblatt Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 26. April 2013 Programmieren II 10. Übungsblatt Hinweis: Insgesamt werden in diesem Semester fünf

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

Medea3 Print-Client (m3_print)

Medea3 Print-Client (m3_print) Medea3 Print-Client (m3_print) Installationsanleitung Installationsanleitung m3_print.exe...2 1. Installieren von Ghostskript und Ghostview...2 1. Ghostskript...2 2. Ghostview...3 2. Kopieren des Print-Client-Programms...6

Mehr

Windows-Sicherheit in 5 Schritten. Version 1.1 Weitere Texte finden Sie unter www.buerger-cert.de.

Windows-Sicherheit in 5 Schritten. Version 1.1 Weitere Texte finden Sie unter www.buerger-cert.de. Windows-Sicherheit in 5 Schritten Version 1.1 Weitere Texte finden Sie unter www.buerger-cert.de. Inhalt: 1. Schritt: Firewall aktivieren 2. Schritt: Virenscanner einsetzen 3. Schritt: Automatische Updates

Mehr

GEONET Anleitung für Web-Autoren

GEONET Anleitung für Web-Autoren GEONET Anleitung für Web-Autoren Alfred Wassermann Universität Bayreuth Alfred.Wassermann@uni-bayreuth.de 5. Mai 1999 Inhaltsverzeichnis 1 Technische Voraussetzungen 1 2 JAVA-Programme in HTML-Seiten verwenden

Mehr

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Informatik Kurs Simulation. Hilfe für den Consideo Modeler Hilfe für den Consideo Modeler Consideo stellt Schulen den Modeler kostenlos zur Verfügung. Wenden Sie sich an: http://consideo-modeler.de/ Der Modeler ist ein Werkzeug, das nicht für schulische Zwecke

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

Mehr

Anleitung für den Elektronischen Lesesaal der Martin-Opitz Bibliothek

Anleitung für den Elektronischen Lesesaal der Martin-Opitz Bibliothek Anleitung für den Elektronischen Lesesaal der Martin-Opitz Bibliothek Der elektronische Lesesaal umfasst derzeit über 3.400 digitale Dokumente aus dem Bereich der deutschen Kultur und Geschichte im östlichen

Mehr

Beuth Hochschule JDK und TextPad WS14/15, S. 1

Beuth Hochschule JDK und TextPad WS14/15, S. 1 Beuth Hochschule JDK und TextPad WS14/15, S. 1 JDK und TextPad Der TextPad ist ein ziemlich ausgereifter Text-Editor, den man auch als einfache ("noch durchschaubare") Entwicklungsumgebung z.b. für Java-Programme

Mehr

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren 1 32- oder 64-bit Windows feststellen In den nachfolgenden Schritten ist es nötig, dass Sie wissen, ob Sie

Mehr

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen Wir wollen, dass ihr einfach für eure Ideen und Vorschläge werben könnt. Egal ob in ausgedruckten Flyern, oder in sozialen Netzwerken und

Mehr

Installationsanleitungen

Installationsanleitungen Installationsanleitungen INPA SGBD-Entwicklungsumgebung (EDIABAS) INPA für Entwickler Bevor Sie EDIABAS / INPA installieren können, müssen Sie sich für den Ordner sgref auf smuc0900 freischalten lassen.

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Erste Schritte zum lauffähigen Java Programm

Erste Schritte zum lauffähigen Java Programm Erste Schritte zum lauffähigen Java Programm Diese kleine Einführung ist eine Hilfe für Studenten der Vorlesung SWT I zur Meisterung der sich ergebenden Hürden bei der Erstellung eines ersten kleinen Java-Programms.

Mehr

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden?

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden? Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden? Anforderung Durch die Bearbeitung einer XML-Datei können Sie Ihre eigenen Dokumentationen (z.b. PDF-Dateien, Microsoft Word Dokumente

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Informatik 1 Tutorial

Informatik 1 Tutorial ETH Zürich, D-INFK/D-BAUG Herbstsemester 2014 Dr. Martin Hirt Christian Badertscher Informatik 1 Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so

Mehr

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5

Mehr

Stammdatenanlage über den Einrichtungsassistenten

Stammdatenanlage über den Einrichtungsassistenten Stammdatenanlage über den Einrichtungsassistenten Schritt für Schritt zur fertig eingerichteten Hotelverwaltung mit dem Einrichtungsassistenten Bitte bereiten Sie sich, bevor Sie starten, mit der Checkliste

Mehr

GameGrid mit BlueJ Seite 1

GameGrid mit BlueJ Seite 1 GameGrid mit BlueJ Seite 1 GameGrid mit BlueJ BlueJ ist eine Java-Entwicklungsumgebung mit einer einfachen Benutzeroberfläche. Dem Benutzer stehen ein einfacher Texteditor mit Syntaxhervorhebung und ein

Mehr

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich Mitgliederbereich (Version 1.0) Bitte loggen Sie sich in den Mitgliederbereich mit den Ihnen bekannten Zugangsdaten

Mehr

Produktschulung WinDachJournal

Produktschulung WinDachJournal Produktschulung WinDachJournal Codex GmbH Stand 2009 Inhaltsverzeichnis Einleitung... 3 Starten des Programms... 4 Erfassen von Notizen in WinJournal... 6 Einfügen von vorgefertigten Objekten in WinJournal...

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace.

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace. Starten Sie Eclipse: Abgesehen vom Kommandozeilenfenster, auf welches wir später eingehen, öffnet sich ein Dialog (in der FH vermutlich nicht, überspringen Sie in diesem Fall): Hier tragen sie Ihr Arbeitsverzeichnis

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

Erstellen der Barcode-Etiketten:

Erstellen der Barcode-Etiketten: Erstellen der Barcode-Etiketten: 1.) Zuerst muss die Schriftart Code-39-Logitogo installiert werden! Das ist eine einmalige Sache und muss nicht zu jeder Börse gemacht werden! Dazu speichert man zunächst

Mehr

Drucken aus der Anwendung

Drucken aus der Anwendung Drucken aus der Anwendung Drucken aus der Anwendung Nicht jeder Großformatdruck benötigt die volle Funktionsvielfalt von PosterJet - häufig sind es Standarddrucke wie Flussdiagramme und Organigramme die

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

Installation LehrerConsole (für Version 6.2)

Installation LehrerConsole (für Version 6.2) Dr. Kaiser Systemhaus GmbH Köpenicker Straße 325 12555 Berlin Telefon: (0 30) 65 76 22 36 Telefax: (0 30) 65 76 22 38 E-Mail: info@dr-kaiser.de Internet: www.dr-kaiser.de Installation LehrerConsole (für

Mehr

Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen?

Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen? Anleitung für Evident Seite 1 Anleitung für Evident-Anwender: Einbinden der MIZ-Dokumente in Evident. Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen? Zunächst müssen Sie entscheiden,

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

PDF-Druck und PDF-Versand mit PV:MANAGER

PDF-Druck und PDF-Versand mit PV:MANAGER PDF-Druck und PDF-Versand mit PV:MANAGER Installation und Erste Schritte Limex Computer GmbH. Alle Rechte vorbehalten Übersicht Mit der Version 5.4 bietet PV:MANAGER eine neue, direkte Unterstützung für

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

C++ mit Eclipse & GCC unter Windows

C++ mit Eclipse & GCC unter Windows C++ mit Eclipse & GCC Seite 1 / 14 C++ mit Eclipse & GCC unter Windows Hinweise Stand 18. Okt. 2014 => GCC 4.9.1 Boost 1.56.0 Eclipse Luna V. 4.4.1 Java Version 8, Update 25 (entspricht 1.8.0_25) Achtung

Mehr

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Howto Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Peter Bitterlich Markus Langer 12. Oktober 2012 Zusammenfassung Dieses Dokument erklärt Schritt für Schritt die Installation

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

TIF2ELO Maskeneditor Handbuch

TIF2ELO Maskeneditor Handbuch TIF2ELO Maskeneditor Handbuch Bitte starten Sie erst Ihren ELOprofessional Client. Wie sie dort eine entsprechende Ablagemaske definieren, entnehmen Sie bitte dem dazugehörigen Handbuch. Legen Sie nun

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

BOKUbox. Zentraler Informatikdienst (ZID/BOKU-IT) Inhaltsverzeichnis

BOKUbox. Zentraler Informatikdienst (ZID/BOKU-IT) Inhaltsverzeichnis BOKUbox BOKUbox ist ein Spezialservice für alle Mitarbeiter/innen der BOKU. Kurzfristiger Austausch von vielen und großen Dateien kann Ihre Mailbox schnell überlasten. BOKUbox ist die perfekte Alternative

Mehr

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen

Mehr

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html

Mehr

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi 06.09.10 1

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi 06.09.10 1 Kapitel 1 Einstieg in Java Dr. Elham Firouzi 06.09.10 1 1 : Einstieg in Java Einleitung Ein erstes Beispiel Berner Fachhochschule Entwicklung von Java-Programmen Applikationen Applets Vor und Nachteile

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ IBBB 2010 Workshop 6 Einführung in die objektorientierte Programmierung Dozenten: J. Penon, J. Frank, A. Schindler Teil: Java mit BlueJ Dozent: A. Schindler Einf. i. d. OOP - Java u. BlueJ / A. Schindler

Mehr

Windows Vista Security

Windows Vista Security Marcel Zehner Windows Vista Security ISBN-10: 3-446-41356-1 ISBN-13: 978-3-446-41356-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41356-6 sowie im Buchhandel

Mehr

Das "Softwarepaket für Falcon und Eagle Framegrabber"

Das Softwarepaket für Falcon und Eagle Framegrabber Windows Treiber für IDS Falcon und Eagle 26.07.2011 Page 1/6 Einleitung IDS bietet für die der Falcon und Eagle Serie zwei unterschiedliche Windows-Treiber an. Zum einen das "Softwarepaket für Falcon und

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Programme im Griff Was bringt Ihnen dieses Kapitel?

Programme im Griff Was bringt Ihnen dieses Kapitel? 3-8272-5838-3 Windows Me 2 Programme im Griff Was bringt Ihnen dieses Kapitel? Wenn Sie unter Windows arbeiten (z.b. einen Brief schreiben, etwas ausdrucken oder ein Fenster öffnen), steckt letztendlich

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor: Client-Installation ec@ros2 ASP-Server 1. Allgemeine Informationen Für den Einsatz von ec@ros2 ist auf den Clients die Software Java Webstart (enthalten im Java Runtime Environment (JRE)) notwendig. Wir

Mehr

Anleitung zur Reparatur von MDAC

Anleitung zur Reparatur von MDAC Page 1 of 5 Anleitung zur Reparatur von MDAC ContentSaver CS Server InternetSammler Updates Komponenten Archiv-Galerie Schritt 1: macropool MDAC-Reparaturprogramm verwenden Aufgrund unserer Erfahrung mit

Mehr

Einrichten einer DFÜ-Verbindung per USB

Einrichten einer DFÜ-Verbindung per USB Einrichten einer DFÜ-Verbindung per USB Hier das U suchen Sie können das Palm Treo 750v-Smartphone und den Computer so einrichten, dass Sie das Smartphone als mobiles Modem verwenden und über ein USB-Synchronisierungskabel

Mehr