3 Java und Eclipse kennenlernen

Größe: px
Ab Seite anzeigen:

Download "3 Java und Eclipse kennenlernen"

Transkript

1

2 Um Ihre Projekte möglichst effizient zu erledigen, ist es unerlässlich, eine Entwicklungsumgebung einzusetzen. Eclipse ist eine integrierte Entwicklungsumgebung (engl. Integrated Development Environment 1 ), die Ihnen hilft, Ihre Projekte zu verwalten, und Ihnen dabei wichtige Aufgaben abnimmt. Die get- und set-methoden in Ihrem Programmcode zu integrieren, ist oft eine lästige Aufgabe. Daher kann Eclipse Ihnen diese Arbeit abnehmen, indem es Ihnen eine Funktion zur Verfügung stellt, welche die get- und set-methoden für Sie in den Programmcode integriert. Sie sollten für die folgenden Schritte alle notwendigen Komponenten und ein lauffähiges Eclipse auf Ihrem System installiert haben. Sollten Sie die notwendigen Komponenten noch nicht installiert haben, so lesen Sie bitte das entsprechende Kapitel in diesem Buch. Auch wenn Sie sich nicht sicher sind, ob Sie alle notwendigen Komponenten installiert haben, sollten Sie das entsprechende Kapitel zur Installation lesen. Sie sind nun so weit, das Beispiel des Fahrzeugverleihs aus dem vorherigen Kapitel in Java umzusetzen und dazu Eclipse zu benutzen. Starten Sie Eclipse auf Ihrem System wie beschrieben und wechseln Sie zur WORKBENCH. 3.1 Das erste Projekt in Eclipse Die WORKBENCH ist die Oberfläche, mit der Sie am meisten Kontakt haben werden. Denn hier werden Sie Ihren Programmcode schreiben, Ihr Projekt starten und Fehlermeldungen erhalten. Bevor Sie sich nun in Details der grafischen Oberfläche (engl. Graphical User Interface 2 ) verlieren, sollten Sie damit beginnen, das Beispiel des Fahrzeugverleihs umzusetzen. Dazu müssen Sie ein neues Projekt in Eclipse anlegen. Sie legen ein neues Projekt über den Menüeintrag FILE > NEW > JAVA PROJECT an. Dort füllen Sie den Dialog NEW JAVA PROJECT aus. Dazu tragen Sie den Namen Ihres Projekts in das Feld PROJECT NAME ein. Für dieses Beispiel wählen Sie Fahrzeugverleih als Projektnamen. Die Einstellungen der anderen Felder belassen Sie auf Ihren Standardeinstellungen. 1 Kurz IDE. 2 Auch GUI genannt.

3 Abbildung 3.1: Die Workbench in Eclipse Unter CONTENTS können Sie ein neues Projekt in Ihrem Workspace anlegen (Voreinstellung) oder aus einem Verzeichnis ein Projekt erstellen. Das Erstellen eines Projekts aus einem Verzeichnis ist vor allem dann interessant, wenn Sie Programmcode von Dritten erhalten und Ihnen der Java-Code als Datei zur Verfügung gestellt wurde. Dann können Sie dieses Verzeichnis auswählen und daraus ein Eclipse-Projekt erstellen. Belassen Sie die Voreinstellung auf CREATE NEW PROJECT IN WORKSPACE, um ein neues Projekt anzulegen. Mit den Einstellungen im Bereich JRE können Sie vorgeben, mit welcher JRE Ihr Projekt ablaufen soll. Die Voreinstellung ist, dass das auf dem System standardmäßig installierte JRE genutzt wird. Sie können natürlich auch eine projektspezifische JRE benutzen. Dieses sollten Sie dann auswählen, wenn Sie mehrere JREs installiert haben und ein Projekt entwickeln, das auf einem anderen JRE laufen soll. Mit der letzten Einstellung unter JRE haben Sie die Möglichkeit, ein Projekt mit der auf Ihrem System installierten JRE zu erstellen, aber unter einer anderen JRE auszuführen. Damit können Sie z.b. Ihr Projekt unter JRE 1.6 entwickeln, aber unter einer JRE ausführen. 56

4 3.1 Das erste Projekt in Eclipse Abbildung 3.2: Der New Java Project-Dialog Das PROJECT LAYOUT sollte in der Voreinstellung belassen werden, denn so werden Ihre Projekte in separaten Verzeichnissen gespeichert. Das erleichtert das Auffinden von Dateien. Wenn Sie hier die Einstellung USE PROJECT FOLDER AS ROOT FOR SOURCES AND CLASS FILES auswählen, dann werden alle Dateien, die zu diesem Projekt gehören, in einem Ordner gespeichert. Dieser Ordner entspricht dem Wurzelverzeichnis für Ihr Projekt. 57

5 Mit den WORKING SETS haben Sie die Möglichkeit, Ihr Projekt einem sogenannten Working Set hinzuzufügen. Wenn Sie z.b. zehn Projekte erstellt haben, wollen Sie sich vielleicht nur Projekte anzeigen lassen, die miteinander verwandt sind. Damit nicht immer alle Projekte eingeblendet werden, können Sie ein Projekt einem Working Set hinzufügen und somit andere Projekte ausblenden. Da Sie noch kein Projekt erstellt haben, lassen Sie die Einstellung aus. Klicken Sie auf NEXT, um zu weiteren Einstellungen zu gelangen. Im Dialog JAVA SET- TINGS können Sie weitere projektspezifische Einstellungen vornehmen. Diese Einstellungen benötigen Sie derzeit noch nicht. Klicken Sie auf FINISH, um das Projekt anlegen zu lassen. Abbildung 3.3: Der Java Settings-Dialog 58

6 3.2 Der erste Java-Code Im PACKAGE EXPLORER finden Sie das erstellte Projekt und können sich die Struktur Ihres Projekts anzeigen lassen, indem Sie auf das +-Symbol vor dem Projektnamen klicken. Es öffnet sich das Projekt mit der Projektstruktur SRC, in dem sich später Ihre Java-Klassen befinden werden. Abbildung 3.4: Ein Projekt im Package Explorer 3.2 Der erste Java-Code Sie können jetzt das UML-Modell aus dem vorhergehenden Kapitel in Java umsetzen. Sie werden Schritt für Schritt das Paket fahrzeugverleih mit den Klassen Fahrzeug, PKW, Motorrad, LKW und Kunde erstellen. Erstellen Sie dazu zuerst das Paket fahrzeugverleih, um dort anschließend die Klassen zu speichern. Ein Paket erstellen Sie, indem Sie im Package Explorer mit der rechten Maustaste auf Ihr Projekt Fahrzeugverleih klicken und im Popup-Menü mit NEW > PACKAGE ein neues Paket anlegen. Im Dialog NEW JAVA PACKAGE müssen Sie nur noch den Paketnamen eintragen. Tragen Sie für das Beispiel in das Feld NAME den Paketnamen fahrzeugverleih ein und bestätigen Sie mit FINISH, um das Paket zu erstellen. Abbildung 3.5: Ein Paket anlegen Im PACKAGE EXPLORER wurde nun ein Paket angelegt, dem Sie die Klassen hinzufügen können. Erstellen Sie die Klasse Fahrzeug, indem Sie im Package Explorer auf das Paket fahrzeugverleih mit der rechten Maustaste klicken und NEW > CLASS auswählen. Es öffnet sich der Dialog NEW JAVA CLASS, in dem schon einige Einstellungen aus dem Projekt vordefiniert sind. 59

7 Abbildung 3.6: Der New Java Class-Dialog Der SOURCE FOLDER gibt an, in welchem Ordner die Klasse angelegt wird. Möchten Sie einen anderen Ordner auswählen, so können Sie diesen über BROWSE auswählen. Das Feld PACKAGE ist bereits mit dem gerade erstellten Paket vordefiniert. Wollen Sie ein anderes Paket auswählen, können Sie auch hier die Funktion BROWSE benutzen. Im Feld NAME geben Sie jeweils den Klassennamen an. Für dieses Beispiel geben Sie hier den Klassennamen Fahrzeug ein. Sie können im Bereich MODIFIERS zusätzlich einige Eigenschaften definieren, die das Verhalten der Klasse modifizieren. Sie brauchen für dieses Beispiel nur die Eigenschaft PUBLIC. Das Feld SUPERCLASS zeigt Ihnen an, von welcher Klasse Sie diese Klasse ableiten. Vererben nennt man auch Ableiten. Da Java eine objektorientierte Programmiersprache ist, wird alles auf die Klasse java.lang.object zurückgeführt. 60

8 3.2 Der erste Java-Code Ein Interface ist einer Klasse sehr ähnlich, unterliegt jedoch einigen Einschränkungen. Mit einem Interface können Sie eine Art Mehrfachvererbung realisieren. Im weiteren Verlauf des Buchs erfahren Sie mehr über Interfaces. Lassen Sie daher das Feld INTER- FACES leer. Sie haben im Bereich WHICH METHOD STUBS WOULD YOU LIKE TO CREATE? die Möglichkeit, einige Codeteile vorgenerieren zu lassen. Eine main()-methode 3 benötigen Sie in der Klasse Fahrzeug nicht, daher lassen Sie diese Möglichkeit aus. Einen Konstruktor aus einer Superklasse benötigen Sie nicht, lassen Sie dieses Feld aus. Den Konstruktor werden Sie später selbst schreiben, wenn Sie Vererbung in Ihren Programmcode implementiert haben. Wie ein Konstruktor funktioniert, können Sie in Kapitel nachlesen. Mit der Einstellung INHERITED ABSTRACT METHODS geben Sie an, dass Sie abstrakte Methoden 4 von der Oberklasse implementieren wollen. Belassen Sie diese Voreinstellung, auch wenn sie noch nicht notwendig ist. Als Letztes haben Sie die Möglichkeit, automatisch vordefinierte Kommentare dem Programmcode hinzuzufügen. Wenn Sie davon Gebrauch machen wollen, müssen Sie GENERATE COMMENTS mit einem Haken versehen. Sie sollten davon im Moment noch absehen. Ihren Programmcode können Sie entsprechend selbst kommentieren. Klicken Sie nun auf FINISH, um die Klasse Fahrzeug anzulegen. Im PACKAGE EXPLORER wird die Klasse dem Paket fahrzeugverleih hinzugefügt, im OUTLINE wird eine Verknüpfung vom Paket zur Klasse erstellt und im CODE EDITOR wird der Programmcode der Klasse angezeigt. Im CODE EDITOR wird der Programmcode dargestellt und Sie werden dort die Klasse mit Ihren Methoden füllen. Im OUTLINE werden Ihnen die Methoden und importierte Pakete der gerade geöffneten Klasse angezeigt. Damit können Sie schnell in einer Klasse navigieren. 3 Die main()-methode ist der Einstiegspunkt für Java, dort werden die Methoden aufgerufen und der Programmablauf programmiert. 4 Abstrakte Methoden sind eine spezielle Form von Methoden, die oft im Zusammenhang mit abstrakten Klassen einhergehen. Bei einer abstrakten Methode implementieren Sie lediglich den Methodenrumpf in der abstrakten Klasse. Konkret wird die Methode erst in der Klasse implementiert, die geerbt hat. 61

9 Abbildung 3.7: Eine Klasse in Eclipse Eclipse hat Ihnen die Arbeit abgenommen, im Programmcode manuell mit dem Schlüsselwort package das Paket anzugeben, in dem sich Ihre Klasse befindet, und hat bereits den Klassenrumpf für Sie erstellt. Sie müssen jetzt die Klasse Fahrzeug mit den Attributen aus dem UML-Modell füllen. Eigenschaften werden in der UML als Attribut bezeichnet, in der objektorientierten Programmierung werden Attribute in Form von Variablen umgesetzt. Ergänzen Sie die Klasse Fahrzeug mit den nötigen Attributen. Im OUTLINE finden Sie die Attribute, die Sie gerade ergänzt haben, und wenn Sie die Klasse nun über das Speichernsymbol speichern, werden Ihnen ein paar Fehler im Reiter PROBLEMS angezeigt. Eclipse informiert Sie darüber, dass Sie zwar Variablen definiert haben, diese jedoch in der Klasse nicht benutzen. Erstellen Sie nun die getund set-methoden, wie sie im UML-Modell angegeben sind. Sie können nun natürlich jede get- und set-methode selbst schreiben, besser ist es aber, Eclipse die Arbeit für Sie machen zu lassen. Das macht eine gute Entwicklungsumgebung aus, Ihnen die Arbeit zu erleichtern. 62

10 3.2 Der erste Java-Code Abbildung 3.8: Eine Klasse mit Variablen get- und set-methoden mit Eclipse generieren Das Generieren der get- und set-methoden ist eine hilfreiche Funktion, die Sie in Zukunft benutzen sollten. An diesem Beispiel werden Sie schon erkennen, wie viel Arbeit Ihnen das Generieren abnehmen kann. Klicken Sie mit der rechten Maustaste in den CODE EDITOR und wählen Sie aus dem Kontextmenü SOURCE > GENERATE GETTERS AND SETTERS aus, um den Dialog GENERATE GETTERS AND SETTER aufzurufen. Sie können angeben, ob Sie nur get-methoden oder nur set-methoden generieren wollen. Außerdem haben Sie die Möglichkeit, anzugeben, wo der generierte Programmcode eingefügt werden soll. Im Dialog ist standardmäßig angegeben, dass der Programmcode an der Position des Cursors eingefügt werden soll. Die ACCESS MODIFIER geben Ihnen die Möglichkeit, auszuwählen, von welcher Klasse/Paket aus die Methoden aufgerufen werden können. Wenn Sie wollen, dass Kommentare zu Ihren Methoden generiert werden, sollten Sie die Option GENERATE METHOD COMMENTS mit einem Haken versehen. 63

11 Abbildung 3.9: Der Generate Getters and Setters-Dialog Selektieren Sie alle Variablen, um die get- und set-methoden zu generieren. Der generierte Programmcode wird nun formatiert im CODE EDITOR angezeigt. Damit haben Sie die Klasse Fahrzeug komplett implementiert. Die set-methoden nehmen Argumente 5 entgegen und setzen die entsprechende Variable. Bei den get-methoden werden die Variablen ausgelesen und der Wert wird an den Aufrufer zurückgegeben. 5 Argumente sind die Werte, mit denen eine Methode aufgerufen wird. Man spricht auch vom Übergabewert. 64

12 3.2 Der erste Java-Code Abbildung 3.10: Generierte get- und set-methoden Erstellen Sie nun die Klassen PKW, LKW und Motorrad nach demselben Vorgehen. 65

13 Hinweis Denken Sie daran, dass die get- und set-methoden der Klassen LKW und Motorrad auch implementiert werden sollen (auch wenn sie nicht im UML-Modell enthalten sind, denn in zukünftigen UML-Modellen werden Sie keine get- und set-methoden mehr im Modell sehen, diese aber implementieren). Die Klassen PKW, LKW und Motorrad enthalten entsprechend dem UML-Modell nun den Programmcode aus Listing 3.1: Listing 3.1: Die Klasse PKW 01 package fahrzeugverleih; public class PKW { 04 private int verbrauch; 05 private int zuladung; public int getverbrauch() { 08 return verbrauch; 09 } 10 public void setverbrauch(int verbrauch) { 11 this.verbrauch = verbrauch; 12 } 13 public int getzuladung() { 14 return zuladung; 15 } 16 public void setzuladung(int zuladung) { 17 this.zuladung = zuladung; 18 } 19 } Für die Klasse Motorrad ergibt sich der Programmcode, wie ihn Listing 3.2 zeigt: Listing 3.2: Die Klasse Motorrad 01 package fahrzeugverleih; public class Motorrad { 04 private int verbrauch; 05 private int beschleunigung; public int getverbrauch() { 08 return verbrauch; 09 } 66

14 3.2 Der erste Java-Code 10 public void setverbrauch(int verbrauch) { 11 this.verbrauch = verbrauch; 12 } 13 public int getbeschleunigung() { 14 return beschleunigung; 15 } 16 public void setbeschleunigung(int beschleunigung) { 17 this.beschleunigung = beschleunigung; 18 } 19 } Der Programmcode der Klasse LKW sollte bei Ihnen vergleichbar mit Listing 3.3 aussehen. Listing 3.3: Die Klasse LKW 01 package fahrzeugverleih; public class LKW { 04 private int achsen; 05 private int zugkraft; public int getachsen() { 08 return achsen; 09 } 10 public void setachsen(int achsen) { 11 this.achsen = achsen; 12 } 13 public int getzugkraft() { 14 return zugkraft; 15 } 16 public void setzugkraft(int zugkraft) { 17 this.zugkraft = zugkraft; 18 } 19 } Sie haben entsprechend dem UML-Modell den Programmcode für die Klassen Fahrzeug, PKW, Motorrad und LKW erstellt. Die Klasse Kunde enthält keine explizite Vererbung, daher sollten Sie diese nun erstellen, um sich danach mit der Vererbung zu beschäftigen. Listing 3.4: Die Klasse Kunde 01 package fahrzeugverleih; public class Kunde { 04 private String id; 05 private String vorname; 67

15 06 private String nachname; 07 private String straße; 08 private int plz; 09 private String ort; public String getid() { 12 return id; 13 } 14 public void setid(string id) { 15 this.id = id; 16 } 17 public String getvorname() { 18 return vorname; 19 } 20 public void setvorname(string vorname) { 21 this.vorname = vorname; 22 } 23 public String getnachname() { 24 return nachname; 25 } 26 public void setnachname(string nachname) { 27 this.nachname = nachname; 28 } 29 public String getstraße() { 30 return straße; 31 } 32 public void setstraße(string straße) { 33 this.straße = straße; 34 } 35 public int getplz() { 36 return plz; 37 } 38 public void setplz(int plz) { 39 this.plz = plz; 40 } 41 public String getort() { 42 return ort; 43 } 44 public void setort(string ort) { 45 this.ort = ort; 46 } 47 } Die Klasse Kunde enthält aus Listing 3.4 alle Attribute aus dem UML-Modell als Variablen, die sich mit den get- und set-methoden ändern und auslesen lassen. Sie sind nun so weit, die Klasse Fahrzeug an die Klassen PKW, Motorrad und LKW zu vererben. Java bietet Ihnen die Möglichkeit, Vererbung einfach zu implementieren, Sie müssen dazu lediglich die Klassen, die erben sollen, im Klassenrumpf erweitern. 68

16 3.2 Der erste Java-Code An eine Klasse vererben Das Konzept der Vererbung in Java basiert auf der Einfachvererbung. Eine Mehrfachvererbung ist in Java nicht möglich. Wenn Sie Mehrfachvererbung benötigen, müssen Sie die Mehrfachvererbung auflösen und auf das Konzept der Interfaces 6 zurückgreifen. Der Unterschied zwischen der Einfachvererbung und der Mehrfachvererbung ist, dass eine Klasse bei der Einfachvererbung nur von einer unmittelbaren Oberklasse erben kann. Dann spricht man von der Einfachvererbung. Wenn eine Klasse von mehr als einer unmittelbaren Oberklasse erben kann, so spricht man von der Mehrfachvererbung. Die Mehrfachvererbung wird Ihnen bei der Java-Programmierung nie begegnen (sofern das UML-Modell die Einschränkung der Einfachvererbung berücksichtigt). Sollte das Ihnen vorliegende UML-Modell jedoch Mehrfachvererbung einsetzen, so müssen das UML-Modell angepasst und die Klassen in Java entsprechend als Interface implementiert werden. Damit die Klassen PKW, Motorrad und LKW dem UML-Modell entsprechen, müssen Sie diese mit dem Programmcode extends erweitern. Die Klassensignatur der Klasse PKW ändert sich, wie es Listing 3.5 zeigt: Listing 3.5: Die Klasse PKW erbt von der Klasse Fahrzeug. 01 package fahrzeugverleih; public class PKW extends Fahrzeug { Für die Klasse Motorrad sieht der Klassenrumpf, wie es Listing 3.6 zeigt, so aus: Listing 3.6: Die Klasse Motorrad erbt von der Klasse Fahrzeug. 01 package fahrzeugverleih; public class Motorrad extends Fahrzeug { In der Klasse LKW ändert sich der Klassenrumpf entsprechend, wie es in Listing 3.7 dargestellt wird: Listing 3.7: Die Klasse Fahrzeug vererbt an die Klasse LKW. 01 package fahrzeugverleih; public class LKW extends Fahrzeug { Oder auch Schnittstellen genannt. 69

17 Mit dem Schlüsselwort extends verweist man auf die Oberklasse, gefolgt von dem Klassennamen, von welcher Klasse man erben möchte. In diesem Beispiel erbt die Klasse LKW von der Oberklasse Fahrzeug. Hinweis Falsch ist folgender Programmcode: public class LKW extends Fahrzeug, Transporter { Da es in Java keine Mehrfachvererbung gibt, können Sie auch nicht mehrere Klassen als Oberklasse angeben Objekte einer Klasse erstellen Sie haben die Fachklassen 7 erstellt und sollten nun dazu übergehen, erste Objekte der Fachklassen anzulegen. Stellen Sie sicher, ob sich Ihre Implementierung entsprechend dem UML-Modell verhält und ob Sie Objekte so erzeugen können, dass diese auch sinnvoll eingesetzt werden können. Um Objekte anzulegen und Variablen mit Werten zu besetzen, sollten Sie eine weitere Klasse erstellen, in der Sie einzelne Objekte erzeugen, Werte setzen und wieder auslesen. Bei diesem Beispiel ist das Erstellen von Objekten vorab nicht zwingend notwendig. Sobald Sie mehrere Klassen implementiert haben, von denen Sie Objekte zu erzeugen haben, hilft Ihnen dieser Ansatz dabei, die Korrektheit der Fachklassen zu prüfen. Objekte werden in Java im Allgemeinen 8 mit dem Schlüsselwort new erstellt und müssen vom selben Typ sein wie die Klasse, von der Sie ein Objekt erstellen wollen. Um z.b. ein Objekt der Klasse Kunde zu erzeugen, erzeugen Sie eine Variable vom Typ Kunde und weisen dieser Variablen ein neues Objekt zu. Kunde einkunde = new Kunde(); Erzeugen Sie eine Klasse ObjektPruefung und erstellen Sie dort ein Objekt von der Klasse PKW. Die Klasse ObjektPruefung sollte nun den Programmcode enthalten, wie es Listing 3.8 zeigt: Listing 3.8: Erzeugen eines Objekts aus der Klasse PKW 01 package fahrzeugverleih; public class ObjektPruefung { public static void main(string[] args) { 06 PKW einpkw = new PKW(); 07 } 08 } 7 Die Klassen, die fachlich gesehen den Kern bilden. 8 Eine Ausnahme bilden z.b. Strings. 70

18 3.2 Der erste Java-Code Sie haben nun ein neues Objekt der Klasse PKW erzeugt und der Variablen einpkw zugewiesen. Verwenden Sie die get- und set-methoden, um Werte für die Attribute verbrauch und zuladung des PKW zu setzen set-methoden verwenden Die Variablen (Attribute aus dem UML-Modell) eines Objekts werden oft über die get- und set-methoden gesetzt bzw. ausgelesen. Dazu rufen Sie lediglich die entsprechende Methode des Objekts mit einem Parameter auf. Listing 3.9: Aufruf der set-methoden 01 einpkw.setverbrauch(8); 02 einpkw.setzuladung(500); Der Programmcode in Listing 3.9 setzt einen Verbrauch von 8 Liter und eine maximale Zuladung von 500 kg für das Objekt einpkw an. Um dieses Beispiel zu konkretisieren, erstellen Sie in Listing 3.10 ein Objekt der Klasse PKW, welches einen VW Golf 5 darstellen soll. Möglicherweise haben Sie die Variablen mit ähnlichen Werten gesetzt. Listing 3.10: Erzeugen eines neuen PKW und Setzen der Werte 01 PKW vwgolf = new PKW(); 02 vwgolf.setfahrgestellnummer("wob12345"); 03 vwgolf.sethersteller("vw"); 04 vwgolf.setmodell("golf 5"); 05 vwgolf.setkm(42300); 06 vwgolf.setps(115); 07 vwgolf.setverbrauch(9); 08 vwgolf.setzuladung(450); Verwenden eines Konstruktors Das Aufrufen jeder einzelnen set-methode zum Initialisieren eines Objekts ist jedoch nicht immer nötig, denn Java bietet Ihnen die Möglichkeit, Werte schon beim Erzeugen des Objekts anzugeben und diese zu setzen. Der sogenannte Konstruktor nimmt wie ein Methodenaufruf dabei einfach Werte entgegen. Wenn die Klasse, von der ein Objekt erzeugt wurde, ohne die explizite Implementierung eines Konstruktors erstellt wurde, so gilt implizit, dass ein Standardkonstruktor vorhanden ist und benutzt wird. Werte werden dabei nicht gesetzt 9. 9 Vorausgesetzt, dass Sie keine Standardwerte in der Klasse vorgeben. 71

19 Hinweis Ein Standardkonstruktor wird in einem UML-Modell implizit nicht dargestellt. Sie müssen also immer davon ausgehen, dass es sich um einen Standardkonstruktor handelt, wenn kein Konstruktor explizit im Modell dargestellt wird. Für Sie heißt das, dass Sie Ihr UML-Modell mit einem Konstruktor versehen müssen, wenn Sie einen eigenen Konstruktor implementieren wollen. Abbildung 3.11: UML-Modell mit eigenem Konstruktor Für alle anderen Klassen müssen Sie natürlich entsprechend des UML-Modells einen passenden Konstruktor für diese Klasse in das Modell integrieren. Wenn Sie einen Konstruktor benutzen wollen, der Ihnen die Möglichkeit gibt, Werte beim Erzeugen des Objekts zu setzen, müssen Sie diesen selbst implementieren. Dazu müssen Sie den Konstruktor in die Klasse implementieren, von der Sie das Objekt erzeugen wollen. Ein Konstruktor ist im Prinzip nichts anderes als eine Methode, die unbedingt public sein muss. Außerdem muss der Konstruktor in Java denselben Namen wie die Klasse besitzen, in der der Konstruktor implementiert wird. Für die Klasse LKW könnten Sie einen Konstruktor verwenden, wie ihn der Programmcode in Listing 3.11 zeigt: Listing 3.11: Der Konstruktor der Klasse LKW 01 public LKW(int Achsen, int Zugkraft) { 02 this.achsen = Achsen; 03 this.zugkraft = Zugkraft; 04 } Die Methode heißt also LKW wie die Klasse und nimmt die Parameter Achsen und Zugkraft entgegen. Bei der Benutzung dieses Konstruktors werden die Attribute achsen und zugkraft mit den Werten der Parameter gesetzt. 72

20 3.2 Der erste Java-Code Sicher fragen Sie sich jetzt, was mit den Attributen aus der Klasse Fahrzeug geschieht? Diese wollen Sie ja schließlich auch noch korrekt setzen. Schließlich wurden alle Attribute aus dieser Klasse geerbt. Sie müssen lediglich in dem Konstruktor der Klasse LKW die set-methoden der Klasse Fahrzeug aufrufen und Parameter an diese weitergeben. Der erweiterte Konstruktor mit allen Parametern sieht nun aus wie in Listing 3.12: Listing 3.12: Setzen der Werte aus der Oberklasse durch einen Konstruktur 01 public LKW(int Achsen, 02 int Zugkraft, 03 String fahrgestellnummer, 04 String hersteller, 05 String modell, 06 int ps, 07 int km) { this.achsen = Achsen; 10 this.zugkraft = Zugkraft; 11 super.setfahrgestellnummer(fahrgestellnummer); 12 super.sethersteller(hersteller); 13 super.setmodell(modell); 14 super.setps(ps); 15 super.setkm(km); 16 } Der Konstruktor wurde mit den Parametern aus der Oberklasse erweitert und die set- Methoden aus der Oberklasse werden aufgerufen. Dabei wird den Methodenaufrufen das Schlüsselwort super vorangestellt. Damit weisen Sie Java an, die set-methode aus der Oberklasse zu verwenden. Sie können nun einen LKW erzeugen und müssen dabei die Parameter angeben, die gesetzt werden sollen. LKW einlkw = new LKW(4, 4000, LKW12345, MAN, Sattelschlepper, 350, 12000); Damit erzeugen Sie einen LKW mit vier Achsen, einer Zugkraft von 4000 KG und der Fahrgestellnummer LKW Der Hersteller ist in diesem Beispiel MAN, das Modell Sattelschlepper mit 350 PS und einem Kilometerstand von km. Wenn Sie alle Attribute abrufen und ausgeben wollen, dann schachteln Sie die get-methoden in ein System.out.println() Das Projekt ausführen Bevor Sie in Eclipse Text auf der CONSOLE ausgeben können, müssen Sie wissen, wie man ein Projekt unter Eclipse ausführt. Ihr Projekt besteht bisher aus mehreren Fachklassen und einer Klasse, in der Sie temporär Objekte erzeugen, um diese zu prüfen. Die Klasse ObjektPruefung enthält als einzige eine main()-methode. Die main()-methode stellt für Java den Punkt dar, wo Ihr Programm beginnt. Um Ihr Projekt ausführen zu können, benötigen Sie eine main()-methode. 73

21 Bevor Sie Ihr Projekt ausführen, sollten Sie es speichern, um auch die letzten Änderungen am Programmcode beim Ausführen zu berücksichtigen. Nachdem Sie das Projekt gespeichert haben, können Sie es nun ausführen. Führen Sie das Projekt aus, indem Sie mit der rechten Maustaste auf Ihr Projekt im PACKAGE EXPLORER klicken. Im erscheinenden Menü wählen Sie den Punkt RUN AS und dann JAVA APPLICATION. Abbildung 3.12: Eine Java Application ausführen Nun wird Ihr Projekt ausgeführt und etwaige Ausgaben erscheinen im Reiter CON- SOLE. Da Sie derzeit noch keine Ausgaben in Ihrem Programmcode mit System.out.println() vornehmen, sehen Sie nur einen leeren Reiter. Sie können allerdings trotzdem feststellen, ob es zu einem Fehler kam oder Ihr Projekt korrekt erstellt und ausgeführt werden konnte. Dazu genügt ein Blick in den Reiter CONSOLE. Dort würden Fehler in Form einer Exception 10 angezeigt werden und bei fehlerhafter Syntax würde Eclipse Sie vor dem Ablauf warnen. Eine Exception tritt immer dann auf, wenn Ihr Programmcode zwar syntaktisch korrekt ist, aber aufgrund eines Fehlers während des Ablaufs Ihr Programm nicht weiter ausgeführt werden kann. Ein klassisches Beispiel für eine Exception ist die Division durch 0. Später werden Sie erfahren, wie Sie solch eine Exception abfangen und behandeln können. Abbildung 3.13: Eine aufgetretene Exception mit Fehlermeldung Ihr Projekt wird vor dem eigentlichen Ablauf von Eclipse kompiliert. Dabei werden Ihre Klassen, die in Form von java-dateien im Workspace vorliegen, zu class-dateien. Eine class-datei ist eine zu Bytecode kompilierte Java-Klasse. Der Bytecode kann von der JVM verarbeitet werden. Sollte beim Vorgang der Kompilation ein Fehler auftreten, wird Eclipse Sie über diesen informieren. Sollten Sie sich dazu entscheiden, trotz der Warnung Ihr Projekt weiter ausführen zu wollen, so erhalten Sie entstehende Fehler im Reiter CONSOLE angezeigt. 10 Dt. eine Ausnahme. 74

22 3.2 Der erste Java-Code Abbildung 3.14: Fehlermeldung beim Kompilieren Da Sie nun wissen, wie Sie Ihr Projekt ausführen, können Sie damit beginnen, Textausgaben zu erstellen und Ihr Projekt ablaufen zu lassen, um diese anschließend im Reiter CONSOLE erscheinen zu lassen Textausgabe mit get-methoden Wenn Sie den Wert einer Variablen aus einer anderen Klasse abrufen wollen, sollten Sie diese über die entsprechende get-methode auslesen und mit dem Methodenaufruf System.out.println() aufrufen. Dieser Methodenaufruf gibt einen Text im Reiter CONSOLE unterhalb des CODE EDITOR aus. Sollte der Reiter noch nicht angezeigt sein, so erscheint dieser, sobald Text ausgegeben wird. Der Methodenaufruf System.out.println( Hallo Eclipse! ) gibt auf der CONSOLE den Text Hallo Eclipse! aus, was nicht anders zu erwarten war. Abbildung 3.15: Ausgabe auf der Console Um die von Ihnen gesetzten Werte abrufen und anzeigen zu können, müssen Sie die jeweilige get-methode des Objekts aufrufen und diese mit einem System.out.println() umschließen. Wenn Sie die Fahrgestellnummer auslesen wollen, müssen Sie also den Methodenaufruf getfahrgestellnummer() in ein System.out.println() schachteln: System.out.println(einLKW.getFahrgestellnummer()); Die erzeugte Ausgabe wird wie gewohnt auf der CONSOLE ausgegeben. Das Abrufen der anderen Werte erfolgt auf die gleiche Art. In Listing 3.13 sehen Sie den Programmcode zum Auslesen aller Werte, die für das Objekt einlkw gesetzt wurden. 75

23 Listing 3.13: Ausgeben der Werte aus dem Objekt 01 System.out.println(einLKW.getAchsen()); 02 System.out.println(einLKW.getZugkraft()); 03 System.out.println(einLKW.getFahrgestellnummer()); 04 System.out.println(einLKW.getHersteller()); 05 System.out.println(einLKW.getModell()); 06 System.out.println(einLKW.getPs()); 07 System.out.println(einLKW.getKm()); Die Ausgabe kann natürlich noch ordentlich formatiert werden, indem Sie dem System.out.println() einen erklärenden Text voranstellen. Dieser könnte z.b. erklären, was LKW12345 überhaupt für ein Attribut ist Verkettung von Textausgaben Um Text verketten zu können, müssen Sie diesen in einem System.out.println()-Aufruf angeben und Ihren Text mit dem +-Symbol verbinden. Folgender Programmcode gibt die Fahrgestellnummer aus. Jedoch wird in Listing 3.14 die Ausgabe entsprechend formatiert, damit Sie wissen, welche Information Ihnen gerade ausgegeben wurde: Listing 3.14: Formatierte Ausgabe der Werte 01 System.out.println("Anzahl der Achsen : " + einlkw.getachsen()); System.out.println("Zugkraft in kg : " + einlkw.getzugkraft()); System.out.println("Fahrgestellnummer : " + einlkw.getfahrgestellnummer()); System.out.println("Hersteller : " + einlkw.gethersteller()); System.out.println("Modell : " + einlkw.getmodell()); System.out.println("PS : " + einlkw.getps()); System.out.println("Kilometerstand : " + einlkw.getkm()); Die Ausgabe enthält entsprechend alle Informationen um Zusatzinformationen ergänzt: Anzahl der Achsen : 4 Zugkraft in kg : 4000 Fahrgestellnummer : LKW12345 Hersteller : MAN Modell : Sattelschlepper PS : 350 Kilometerstand :

24 3.3 Das UML-Modell erweitern Die Doppelpunkte sind in diesem Beispiel mit Tabulatoren ausgerichtet. Sie können Texte natürlich schon vor der Ausgabe formatieren und verketten. Dazu weisen Sie den Text einer Variablen zu und geben diese dann aus. Für ein einfaches Beispiel könnten Sie den Text Java mit Eclipse lernen ist nicht schwer! ausgeben. Listing 3.15: Textausgabe über eine Variable 01 String eintext = "Java mit Eclipse lernen ist nicht schwer!"; 02 System.out.println(einText); In dem Beispiel aus Listing 3.15 weisen Sie der Variable eintext den Text Java mit Eclipse lernen ist nicht schwer! zu und schachteln die Variable in einen System.out. println()-aufruf. 3.3 Das UML-Modell erweitern Sie haben in den vorherigen Kapiteln ein UML-Modell für einen Fahrzeugverleih erstellt und die Klassen implementiert. Das entwickelte Modell ist noch nicht vollständig und muss erweitert werden. Sie müssen die Klasse Fahrzeug als eine abstrakte Klasse markieren, um von dieser kein Objekt erzeugen zu können. Das ist notwendig, weil Sie natürlich keine Objekte von der Klasse Fahrzeug erzeugen wollen, sondern von den Klassen LKW, PKW und Motorrad sowie von der Klasse Kunde. Das Problem ist, dass Sie bisher grundsätzlich die Möglichkeit haben, von der Klasse Fahrzeug ein Objekt erzeugen zu können. Eine Klasse, die als abstrakte Klasse gekennzeichnet wurde, ist eine spezielle Klasse. Von einer solchen Klasse lässt sich nur erben, jedoch kein Objekt erzeugen. Genau dieses Verhalten benötigen Sie für Ihr Projekt. Daher müssen Sie zuerst das UML-Modell anpassen und die Änderungen in der entsprechenden Klasse implementieren. Eine abstrakte Klasse wird in der UML dadurch gekennzeichnet, dass der Klassenname in kursiver Schrift erscheint. Sollte die kursive Schrift in dem Modell schlecht erkennbar sein, so haben Sie die Möglichkeit, die Klasse mit dem Zusatz { abstract } zu versehen. Folgendes Beispiel zeigt die Unterschiede im UML-Modell: Abbildung 3.16: Eine einfache Klasse 77

25 Abbildung 3.17: Eine abstrakte Klasse Nachdem Sie das UML-Modell erweitert haben, müssen Sie die Klasse auch im Programmcode ändern. Dazu müssen Sie die Klasse Fahrzeug als eine abstrakte Klasse implementieren Abstrakte Klassen in Java Um eine Klasse in Java als eine abstrakte Klasse zu implementieren, müssen Sie den Klassenrumpf erweitern. Dazu müssen Sie den bestehenden Klassenrumpf um das Schlüsselwort abstract erweitern. Folgender Programmcode ändert die Klasse Fahrzeug und lässt diese zur abstrakten Klasse werden: public abstract class Fahrzeug { Damit kennzeichnen Sie die Klasse Fahrzeug als eine abstrakte Klasse, von der keine Objekte erzeugt werden können. Wenn Sie nun versuchen, von der Klasse Fahrzeug ein Objekt zu erzeugen, erhalten Sie eine Fehlermeldung. Folgender Programmcode führt also zu einer Meldung im Reiter PROBLEMS: Fahrzeug einfahrzeug = new Fahrzeug(); Sie sehen neben dem Programmcode im CODE EDITOR das sogenannte QUICKFIX-Icon. Dieses Icon symbolisiert Ihnen, dass es ein Problem mit Ihrem Programmcode gibt. Wenn Sie mit der Maus über das Icon fahren, erscheint ein erläuternder Text. Abhängig vom Problem erhalten Sie hier auch Lösungsvorschläge. Abbildung 3.18: Das QuickFix-Icon im Code Editor Außerdem erscheint im Reiter PROBLEMS eine Meldung zum Problem: 78

26 3.3 Das UML-Modell erweitern Abbildung 3.19: Der Reiter Problems mit einer Fehlermeldung In diesem Beispiel wird Ihnen mitgeteilt, dass es nicht möglich ist, eine Instanz des Typs Fahrzeug zu erstellen. Genau das ist es ja, was Sie erreichen wollten. Um diese Meldung zu beseitigen, müssen Sie den fehlerhaften Programmcode korrigieren. In diesem Beispiel reicht es, die entsprechende Zeile zu löschen. Sie diente lediglich zur Verdeutlichung Wrapper-Klassen entwickeln Mit einer Wrapper-Klasse können Sie Ihre Objekte verwalten und dabei einen Teil der Programmlogik implementieren. Java bietet eine Reihe vordefinierter Wrapper-Klassen für Datentypen. Diese Klassen benötigen Sie für die Typkonvertierung. Eine Wrapper-Klasse enthält alle nötigen Methoden, um Objekte einer Fachklasse erzeugen zu können, diese zwischenzuspeichern und zu verwalten. Charakteristisch für Wrapper-Klassen sind folgende Merkmale: Eine Liste in Form eines Arrays oder anderer Listen Die get- und set-methoden werden an die Fachklasse durchgereicht. Oft werden Objekte mit default-werten erstellt und der Liste hinzugefügt. Eine Wrapper-Klasse enthält minimale Programmlogik. Typisch für die Wrapper-Klasse ist eine Liste, in der Objekte zwischengespeichert werden, die vorher mit default-werten erzeugt wurden. Außerdem werden die getund set-methoden der Fachklasse implementiert und an diese durchgereicht. Dabei wird minimale Programmlogik in die Methode implementiert, um einen reibungslosen Ablauf zu gewährleisten. Sie werden nun für die Klasse Kunde eine Wrapper-Klasse in Ihrem UML-Modell erstellen und diese anschließend implementieren. Der Klasse Kunde können Sie entsprechende Informationen entnehmen, wie Sie Ihre Wrapper-Klasse zu modellieren haben. 79

27 Abbildung 3.20: Die Klasse Kunde als Basis für eine Wrapper-Klasse Die entsprechende Wrapper-Klasse für die Kundenverwaltung könnte wie folgt aussehen: Abbildung 3.21: Eine Wrapper-Klasse für die Fachklasse Kunde Sie haben in dieser Wrapper-Klasse eine Kundenliste, in der Ihre Kunden gespeichert werden. Der Kunde einkunde ist ein Objekt der Klasse Kunde und bildet für die Verwaltung ein temporäres Objekt, welches mit einem konkreten Kunden belegt wird, sofern es nötig ist. 80

28 3.3 Das UML-Modell erweitern Die Methoden neuerkunde(), kundensuche() und kundelöschen() sind selbsterklärend. Mit dem Aufruf der Methode freierkundenplatz() wird nach dem nächsten freien Kundenplatz in Ihrer Kundenliste gesucht. Wenn Sie einen Kunden bearbeitet haben und Änderungen an diesem speichern wollen, dann rufen Sie die Methode kundenupdate() auf. Aus der Klasse Kunde wurden die meisten get- und set-methoden übernommen und um die Kundennummer erweitert, damit der entsprechende Kunde identifiziert werden kann Wrapper-Klassen implementieren Die Wrapper-Klasse liegt Ihnen jetzt als UML-Modell vor und Sie sind so weit, diese zu implementieren. Sie brauchen einfach nur so vorzugehen, wie Sie es bei den anderen Klassen auch getan haben. Sie implementieren nach Vorgabe aus dem UML- Modell alle Attribute und Methoden. Die Methoden können Sie erst einmal leer lassen, denn die Programmlogik werden Sie später implementieren. Die Implementierung der Wrapper-Klasse Kundenverwaltung nach dem UML-Modell entspricht dem Programmcode aus Listing 3.16: Listing 3.16: Die Wrapper-Klasse Kundenverwaltung 01 package fahrzeugverleih; import java.util.vector; public class Kundenverwaltung { 06 private Vector<Kunde> KundenListe = new Vector<Kunde>(); 07 private Kunde einkunde = new Kunde(); public Kundenverwaltung(int Kunden) { } public void neuerkunde(int ID, String Vorname, String Nachname, String Straße, int PLZ, String Ort) { } public int kundensuche(int Kundennummer) { } public int freierkundenplatz() { } public void kundelöschen(int Kundennummer) { 26 81

29 27 } public void kundenupdate(kunde einkunde, int Kundennummer) { } public Kunde getkunde(int Kundennummer) { } public void setkundennummer(int Kundennummer, int KundennummerNeu) { } public String getvorname(int Kundennummer) { } public void setvorname(int Kundennummer, String vorname) { } public String getnachname(int Kundennummer) { } public void setnachname(int Kundennummer, String nachname) { } public String getstraße(int Kundennummer) { } public void setstraße(int Kundennummer, String straße) { } public int getplz(int Kundennummer) { } public void setplz(int Kundennummer, int plz) { } public String getort(int Kundennummer) { } 82

30 3.3 Das UML-Modell erweitern public void setort(int Kundennummer, String ort) { } 80 } Die Klasse ist so weit vollständig implementiert. Den Methoden fehlt es aber noch an Programmlogik, um sie wirklich nutzbar zu machen. Da Sie einen Vector als Liste benutzen, müssen Sie das Paket java.util.vector importieren. Java bietet Ihnen die Möglichkeit, vorgefertigte Pakete zu importieren und zu benutzen. Sie benutzen in diesem Fall eine fertige Lösung, die Ihnen einen Vektor implementiert. Da Sie in diesem Vektor nur Kunden speichern wollen, erstellen Sie einen Vektor, der ausschließlich Objekte vom Typ Kunde aufnimmt. Daher müssen Sie dem Vektor in spitzen Klammern den Typ mitteilen. Sie sollten jetzt damit beginnen die Methoden zu implementieren und damit die Programmlogik in dieser Klasse zu implementieren. Den Konstruktor implementieren Der Methodenrumpf des Konstruktors nimmt einen Parameter Kunden entgegen. Mit diesem Parameter können Sie angeben, wie viele Kunden vorgeneriert werden sollen. Damit können Sie Kunden erstellen und diese später über die set-methoden mit konkreten Werten abändern. Listing 3.17: Generieren definierter Kundenobjekte 01 for (int i=0; i < Kunden; i++) { 02 einkunde = new Kunde(-1, "Vorname", "Nachname", "Straße", 12345, "Ort" ); 03 KundenListe.add(einKunde); 04 } Um eine bestimmte Anzahl von Kunden zu erstellen, benutzen Sie in Listing 3.17 eine for-schleife. Die Schleife wird so oft durchlaufen, wie es dem Konstruktor mitgeteilt wurde. Dem temporären Objekt einkunde wird dabei ein neuer Kunden mit vordefinierten Werten erzeugt. Nachdem der Kunde erzeugt wurde, wird der Kunde der Kundenliste hinzugefügt. Damit haben Sie eine entsprechende Anzahl von Kunden erzeugt und diese der Kundenliste hinzugefügt. Einen neuen Kunden anlegen Die Methode neuerkunde() ist dafür vorgesehen, einen neuen Kunden anzulegen. Dazu werden allen nötigen Parameter der Methode übergeben. Sie müssen folgende Punkte beachten: Ein Kunde muss mit den übergebenen Parametern übergeben werden. Ein freier Kundenspeicherplatz muss ermittelt werden. Der Kunde muss der Kundenliste hinzugefügt werden. 83

31 Um einen Kunden mit den Parametern zu erzeugen, die übergeben wurden, genügt es, folgenden Programmcode in dieser Methode zu implementieren: einkunde = new Kunde(ID, Vorname, Nachname, Straße, PLZ, Ort); Hier werden die Parameter, die an die Methode übergeben worden sind, direkt an den new-aufruf weitergegeben. Damit der erzeugte Kunde auch korrekt in der Kundenliste gespeichert werden kann, müssen Sie einen freien Speicherplatz für diesen finden. Dazu benutzen Sie die Methode freierkundenplatz(). Diese Methode liefert Ihnen die Position in der Liste, wo der Kunde abgelegt werden kann. Sie müssen lediglich noch den Kunden der Kundenliste hinzufügen. Mit dem folgenden Programmcode speichern Sie den erzeugten Kunden in der Kundenliste an einer bestimmten Position. this.kundenliste.set(freierkundenplatz(),einkunde); Mit dem Schlüsselwort this beziehen Sie sich auf das eigene Objekt. Das heißt, Sie nutzen die Kundenliste, die Sie in diesem Objekt erzeugt haben. Hierbei wird in der set-methode der Kundenliste die Methode freierkundenplatz() aufgerufen und das Kundenobjekt als zweiter Parameter übergeben. Dabei wird zuerst ein freier Kundenspeicherplatz ermittelt. Wenn diese Methode einen Speicherplatz in Form eines Werts liefert, wird die set-methode mit dem Wert und dem Kundenobjekt aufgerufen und der Kunde in der Kundenliste gespeichert. Das Verschachteln von Methodenaufrufen kennen Sie bereits aus dem Kapitel Einen freien Kundenspeicherplatz finden Damit Sie Ihren Kunden speichern können, müssen Sie den nächsten freien Speicherplatz in der Kundenliste ermitteln. Dazu müssen Sie folgende Dinge beachten: In der Kundenliste einen Kunden mit der Kundennummer -1 finden. Den Index in der Kundenliste ermitteln. Den Index an den Aufrufer zurückliefern. Sie werden in diesem Beispiel eine sequenzielle Suche über die Kundenliste betreiben, um einen freien Kundenspeicherplatz zu finden. Natürlich ist dieses Verfahren kein besonders gutes Suchverfahren. Allerdings reicht es für dieses überschaubare Beispiel aus. Sollten Sie daran interessiert sein, sich näher mit dem Thema der Suchverfahren, Datenstrukturen und Algorithmen zu beschäftigen, so empfehle ich Ihnen, einschlägige Literatur zu diesem Thema zu lesen. Denn schon diese Themen füllen ganze Bücher und würden den Rahmen an dieser Stelle sprengen. Bei der Suche nach einem freien Speicherplatz müssen Sie den Fall berücksichtigen, dass es möglicherweise keinen freien Speicherplatz mehr in der Kundenliste gibt. Dazu können Sie dem Index, den Sie später zurückliefern wollen, einfach einen spe- 84

32 3.3 Das UML-Modell erweitern ziellen Wert geben. Dieser Wert kann beim Aufrufer ausgewertet werden und signalisiert diesem, ob ein Speicherplatz gefunden wurde und wenn ja, wie dessen Position in der Kundenliste ist. int Kundenplatz = -2; Sie definieren den Kundenplatz mit -2 als einen Startwert. Dieser Wert signalisiert, dass noch kein Speicherplatz gefunden wurde. Denn das ist ja auch Ihre Ausgangslage. Nun müssen Sie sequenziell über die Kundenliste suchen und einen Kunden finden, dessen Kundennummer -1 ist. Listing 3.18: Suche eines freien Speicherplatzes in einer Schleife 01 for (int i = 0; i < KundenListe.size(); i++) { 02 if (KundenListe.get(i).getID() == -1) { 03 Kundenplatz = i; 04 break; 05 } 06 } Die for-schleife aus Listing 3.18 ist Ihnen ja bereits bekannt und wird in diesem Fall vom Wert 0 bis zum Ende der Kundenliste laufen. Der Aufruf KundenListe.size() liefert genau die Anzahl der Speicherplätze, die Ihre Kundenliste aufnehmen kann also 20 Speicherplätze, wenn Sie eine Kundenliste mit 20 Kunden durch den Konstruktor erzeugt haben. Innerhalb der Schleife wird mit einer if-anweisung ein Speicherplatz der Kundenliste und die Kundennummer des Kunden ermittelt, der sich auf diesem Speicherplatz befindet. Wenn die abgerufene Kundennummer -1 ist, wird der Kundenplatz auf diesen Index gesetzt und die Schleife mit einem break unterbrochen. Eine if- Anweisung ist ein klassisches Mittel, um wenn/dann-beziehungen darzustellen, denn Sie bietet Ihnen die Möglichkeit, abhängig von einer Bedingung (in diesem Fall, wenn Kundennummer gleich -1) Programmcode auszuführen. Damit Ihre Methode auch einen Wert an den Aufrufer zurückliefert, müssen Sie einen Wert mit dem Schüsselwort return ausliefern. return Kundenplatz; Ein return-wert muss immer von dem Datentyp sein, wie Sie ihn in der Methodensignatur definiert haben. Die Methode war so definiert: public int freierkundenplatz() { Das Schlüsselwort int zeigt Ihnen an, welchen Datentyp Sie bei dieser Methode zurückgeben müssen. Sehr ähnlich zum Finden eines freien Speicherplatzes verhält sich das Suchen nach einer bestimmten Kundennummer. 85

33 Einen Kunden suchen Um einen Kunden in der Kundenliste zu finden, müssen Sie nach der Kundennummer suchen können. Die Kundensuche geht ähnlich vor wie die Suche nach einem freien Kundenspeicherplatz. Listing 3.19: Einen Kunden suchen 01 int indexkundennummer = -1; 02 for (int i = 0; i < KundenListe.size(); i++) { 03 if (KundenListe.get(i).getID() == Kundennummer) { 04 indexkundennummer = i; 05 break; 06 } 07 } 08 return indexkundennummer; Der wesentliche Unterschied besteht darin, dass Sie in Listing 3.19 nach einer bestimmten Kundennummer suchen, die der Methode übergeben wurde, und nicht nach einem Kunden, dessen Kundennummer -1 ist und damit einen freien Speicherplatz signalisiert. Einen Kunden löschen Damit Sie einen Kunden aus Ihrer Kundenliste löschen können, müssen Sie ein paar Vorgänge beachten: Der zu löschende Kunde muss anhand seiner Kundennummer identifiziert werden. Ein Kunde mit Standardwerten muss erzeugt werden. Der Standardkunde muss auf diesen Speicherplatz gesetzt werden. Da Sie bereits die Kundensuche implementiert haben, nutzen Sie natürlich diese, um den Kunden zu identifizieren. Sie müssen lediglich die Kundennummer übergeben und erhalten die Position in der Kundenliste als Wert zurück. int indexkundennummer = kundensuche(kundennummer); Anschließend wird ein Standardkunde erzeugt und dem temporären Kundenobjekt zugewiesen. einkunde = new Kunde(-1, "Vorname", "Nachname", "Straße", 12345, "Ort" ); Sie müssen nur noch den erzeugten Kunden auf die Position setzen, wo sich der Kunde befindet, dessen Kundennummer Sie löschen wollen. KundenListe.set(indexKundennummer, einkunde); Das Setzen eines Kunden ist Ihnen ja bereits aus den anderen Methoden bekannt. 86

34 3.3 Das UML-Modell erweitern Einen bearbeiteten Kunden speichern Wenn Sie einen Kunden bearbeitet haben, müssen Sie diesen auch wieder speichern. Andernfalls würden alle Änderungen verworfen werden. Damit Sie einen Kunden auch wieder speichern können, müssen Sie lediglich diesen Kunden als Objekt an die entsprechende Methode übergeben und dessen Kundennummer. Dabei bedarf es keines großen Aufwands. Sie brauchen lediglich nach der Position in der Kundenliste zu suchen, die der Kunde momentan belegt. Wenn Sie die Position mit der Kundensuche gefunden haben, setzen Sie das aktualisierte Kundenobjekt auf diesen Platz. Folgender Programmcode aktualisiert somit einen bearbeiteten Kunden: KundenListe.set(kundenSuche(Kundennummer), einkunde); Damit Sie einen Kunden aber bearbeiten können, sollte sich dieser auch abrufen lassen. Einen Kunden abrufen Um einen Kunden abzurufen, benötigen Sie dessen Kundennummer. Diese wird der Methode beim Aufruf übergeben. Sie haben nun also folgende Aufgaben zu erledigen: Sie müssen nach der Kundennummer suchen. Es muss sichergestellt werden, dass dieser Kunde existiert. Sie müssen den Kunden zurückliefern. Die Suche nach einem Kunden haben Sie schon mehrfach bewältigt. Sie speichern in diesem Fall den Index des Speicherplatzes. int Kunde = kundensuche(kundennummer); Ihre Kundensuche liefert allerdings den Wert -1, wenn die Kundensuche erfolglos war. Damit Sie die Möglichkeit haben, einen nicht gefundenen Kunden doch noch anlegen zu können, erzeugen Sie einen Standardkunden. Dieser Kunde wird der Kundenliste hinzugefügt und sobald der Standardkunde in der Kundenliste existiert, suchen Sie nach dessen Kundennummer 11. Wenn der neue Kunde gefunden wurde, wird der Rückgabewert aktualisiert. Listing 3.20: Einen Standardkunden erzeugen 01 if (kundensuche(kundennummer) == -1) { 02 einkunde = new Kunde(-1, "Vorname", "Nachname", "Straße", 12345, "Ort" ); 03 KundenListe.add(einKunde); 04 Kunde = kundensuche(-1); 05 } 11 In diesem Beispiel ist die Kundennummer natürlich

35 Das ist natürlich nur dann nötig, wenn es keinen Kunden mit der angegebenen Kundennummer gibt. Wird ein Kunde gefunden, wird dieser Teil übersprungen und der Kunde mit einem return zurückgegeben. return KundenListe.get(Kunde); Eigenschaften eines Kunden ändern Da Sie noch nicht absehen können, wie sich die Bedienung des Fahrzeugverleihs entwickelt, sollten Sie die get- und set-methoden der Fachklassen mit implementieren. Die Methodenrümpfe haben Sie ja bereits in die Wrapper-Klasse implementiert. Jetzt werden Ihnen beispielhaft die get-methode getvorname() und die set-methode setvorname() vorgestellt. Die anderen get- und set-methoden verhalten sich analog. Bei der Methode getvorname() rufen Sie den Vornamen einer bestimmten Kundennummer ab und geben diesen an den Aufrufer zurück. Dazu rufen Sie einfach den Kunden ab und liefern den Vornamen zurück. Listing 3.21: Die Methode getvorname() 01 einkunde = getkunde(kundennummer); 02 return einkunde.getvorname(); Für die Methode setvorname() gehen Sie ähnlich vor. Sie rufen den Kunden ab und weisen diesem das temporäre Kundenobjekt zu. Anschließend setzen Sie den Vornamen auf den Parameter, der der Methode übergeben wurde. Als letzten Schritt müssen Sie den Kunden aktualisieren. Listing 3.22: Aufrufen der Methode setvorname() 01 einkunde = getkunde(kundennummer); 02 einkunde.setvorname(vorname); 03 kundenupdate(einkunde, einkunde.getid()); So einfach können Sie die get- und set-methoden der Fachklasse in Ihre Wrapper- Klasse integrieren und dabei die wichtigsten Vorgänge abbilden. Sie können damit einen Kunden anlegen, bearbeiten, löschen und abrufen. Die fertige Wrapper-Klasse Der Programmcode aus Listing 3.23 zeigt Ihnen die fertige Wrapper-Klasse mit allen implementierten Methoden. Listing 3.23: Die fertige Wrapper-Klasse der Kundenverwaltung 01 package fahrzeugverleih; import java.util.vector; 04 88

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

25 Import der Beispiele

25 Import der Beispiele 25 Import der Beispiele Versuch es nicht mit Gewalt. Nimm einfach einen größeren Hammer (Murphy s Law) 25.1 Einleitung Alle Beispielprogramme dieses Buchs funktionieren mit jeder Java-konformen Entwicklungsumgebung.

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

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

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Anleitung zur Webservice Entwicklung unter Eclipse

Anleitung zur Webservice Entwicklung unter Eclipse Entwicklungsumgebung installieren Sofern Sie nicht an einem Praktikumsrechner arbeiten, müssen Sie ihre Eclipse-Umgebung Webservice-fähig machen. Dazu benötigen Sie die Entwicklungsumgebung Eclipse for

Mehr

Die Dateiablage Der Weg zur Dateiablage

Die Dateiablage Der Weg zur Dateiablage Die Dateiablage In Ihrem Privatbereich haben Sie die Möglichkeit, Dateien verschiedener Formate abzulegen, zu sortieren, zu archivieren und in andere Dateiablagen der Plattform zu kopieren. In den Gruppen

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

Arbeiten mit dem Outlook Add-In

Arbeiten mit dem Outlook Add-In Arbeiten mit dem Outlook Add-In Das Outlook Add-In ermöglicht Ihnen das Speichern von Emails im Aktenlebenslauf einer Akte. Außerdem können Sie Namen direkt aus BS in Ihre Outlook-Kontakte übernehmen sowie

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

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

Kleines Handbuch zur Fotogalerie der Pixel AG

Kleines Handbuch zur Fotogalerie der Pixel AG 1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Neue Steuererklärung 2013 erstellen

Neue Steuererklärung 2013 erstellen Neue Steuererklärung 2013 erstellen Bitte klicken Sie im Startmenü auf die Schaltfläche Steuererklärung 2013 NEU Anschliessend wird der folgende Dialog angezeigt. Wenn Sie die letztjährige Steuererklärung

Mehr

Schulberichtssystem. Inhaltsverzeichnis

Schulberichtssystem. Inhaltsverzeichnis Schulberichtssystem Inhaltsverzeichnis 1. Erfassen der Schüler im SBS...2 2. Erzeugen der Export-Datei im SBS...3 3. Die SBS-Datei ins FuxMedia-Programm einlesen...4 4. Daten von FuxMedia ins SBS übertragen...6

Mehr

Folgeanleitung für Klassenlehrer

Folgeanleitung für Klassenlehrer Folgeanleitung für Klassenlehrer 1. Das richtige Halbjahr einstellen Stellen sie bitte zunächst das richtige Schul- und Halbjahr ein. Ist das korrekte Schul- und Halbjahr eingestellt, leuchtet die Fläche

Mehr

Anleitungen zum Publizieren Ihrer Homepage

Anleitungen zum Publizieren Ihrer Homepage Anleitungen zum Publizieren Ihrer Homepage Einrichtung und Konfiguration zum Veröffentlichen Ihrer Homepage mit einem Programm Ihrer Wahl Stand Februar 2015 Die Anleitungen gelten für die Homepage-Produkte:

Mehr

JBuilderX: Installation und Kurzanleitung (Windows)

JBuilderX: Installation und Kurzanleitung (Windows) JBuilder X Seite 1 JBuilderX: Installation und Kurzanleitung (Windows) 1. JBuilder installieren Eine Gratis-Version kann von der Webseite www.borland.de heruntergeladen werden. Systemvoraussetzungen: 256

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

teamsync Kurzanleitung

teamsync Kurzanleitung 1 teamsync Kurzanleitung Version 4.0-19. November 2012 2 1 Einleitung Mit teamsync können Sie die Produkte teamspace und projectfacts mit Microsoft Outlook synchronisieren.laden Sie sich teamsync hier

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

Comic Life 2.x. Fortbildung zum Mediencurriculum

Comic Life 2.x. Fortbildung zum Mediencurriculum Comic Life 2.x Fortbildung zum Mediencurriculum - 1 - Comic Life Eine kurze Einführung in die Bedienung von Comic Life 2.x. - 2 - Starten von Comic Life Bitte starte das Programm Comic Life. Es befindet

Mehr

Kurzeinstieg in VR-Ident personal

Kurzeinstieg in VR-Ident personal Kurzeinstieg in VR-Ident personal Sehr geehrte Kundin, sehr geehrter Kunde, anbei erhalten Sie eine kurze Übersicht zur Installation und zu weiteren Funktionen Ihrer Software VR-Ident personal. Installation

Mehr

Folgeanleitung für Fachlehrer

Folgeanleitung für Fachlehrer 1. Das richtige Halbjahr einstellen Folgeanleitung für Fachlehrer Stellen sie bitte zunächst das richtige Schul- und Halbjahr ein. Ist das korrekte Schul- und Halbjahr eingestellt, leuchtet die Fläche

Mehr

1. Einschränkung für Mac-User ohne Office 365. 2. Dokumente hochladen, teilen und bearbeiten

1. Einschränkung für Mac-User ohne Office 365. 2. Dokumente hochladen, teilen und bearbeiten 1. Einschränkung für Mac-User ohne Office 365 Mac-User ohne Office 365 müssen die Dateien herunterladen; sie können die Dateien nicht direkt öffnen und bearbeiten. Wenn die Datei heruntergeladen wurde,

Mehr

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Seit Anfang Juni 2012 hat Facebook die Static FBML Reiter deaktiviert, so wird es relativ schwierig für Firmenseiten eigene Impressumsreiter

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

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Um mit IOS2000/DIALOG arbeiten zu können, benötigen Sie einen Webbrowser. Zurzeit unterstützen wir ausschließlich

Mehr

Konvertieren von Settingsdateien

Konvertieren von Settingsdateien Konvertieren von Settingsdateien Mit SetEdit können sie jedes der von diesem Programm unterstützten Settingsformate in jedes andere unterstützte Format konvertieren, sofern Sie das passende Modul (in Form

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

Kapitel 3 Frames Seite 1

Kapitel 3 Frames Seite 1 Kapitel 3 Frames Seite 1 3 Frames 3.1 Allgemeines Mit Frames teilt man eine HTML-Seite in mehrere Bereiche ein. Eine Seite, die mit Frames aufgeteilt ist, besteht aus mehreren Einzelseiten, die sich den

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

Anleitung für Berichte in Word Press, auf der neuen Homepage des DAV Koblenz

Anleitung für Berichte in Word Press, auf der neuen Homepage des DAV Koblenz Anleitung für Berichte in Word Press, auf der neuen Homepage des DAV Koblenz Diese Anleitung soll als Kurzreferenz und Schnellanleitung dienen um einfach und schnell Berichte auf der Homepage www.dav-koblenz.de

Mehr

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:

Mehr

SICHERN DER FAVORITEN

SICHERN DER FAVORITEN Seite 1 von 7 SICHERN DER FAVORITEN Eine Anleitung zum Sichern der eigenen Favoriten zur Verfügung gestellt durch: ZID Dezentrale Systeme März 2010 Seite 2 von 7 Für die Datensicherheit ist bekanntlich

Mehr

Fülle das erste Bild "Erforderliche Information für das Google-Konto" vollständig aus und auch das nachfolgende Bild.

Fülle das erste Bild Erforderliche Information für das Google-Konto vollständig aus und auch das nachfolgende Bild. Erstellen eines Fotoalbum mit "Picasa"-Webalben Wie es geht kannst Du hier in kleinen Schritten nachvollziehen. Rufe im Internet folgenden "LINK" auf: http://picasaweb.google.com Jetzt musst Du folgendes

Mehr

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze Ihre Interessentendatensätze bei inobroker Wenn Sie oder Ihre Kunden die Prozesse von inobroker nutzen, werden Interessentendatensätze erzeugt. Diese können Sie direkt über inobroker bearbeiten oder mit

Mehr

Kurzanleitung. Einstieg in die TripleCard Profi-Software. Zeiterfassungs- Software für. TripleCard Terminal

Kurzanleitung. Einstieg in die TripleCard Profi-Software. Zeiterfassungs- Software für. TripleCard Terminal Kurzanleitung Einstieg in die TripleCard Profi-Software Zeiterfassungs- Software für TripleCard Terminal 2000 Towitoko AG Windows 3.11 Windows 95/98 Windows NT Windows 2000 So installieren Sie die TripleCard

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

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

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

Erstellen einer PostScript-Datei unter Windows XP

Erstellen einer PostScript-Datei unter Windows XP Erstellen einer PostScript-Datei unter Windows XP Sie möchten uns Ihre Druckvorlage als PostScript-Datei einreichen. Um Fehler in der Herstellung von vorneherein auszuschließen, möchten wir Sie bitten,

Mehr

Vorlagen im Online Banking. Anlegen von Vorlagen

Vorlagen im Online Banking. Anlegen von Vorlagen Vorlagen im Online Banking Beiträge werden üblicherweise regelmäßig wiederkehrend eingezogen. Daher ist es sinnvoll, die Lastschriften mit den Bankdaten der Mitglieder als sogenannte Vorlagen anzulegen.

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

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

Erstellen einer digitalen Signatur für Adobe-Formulare

Erstellen einer digitalen Signatur für Adobe-Formulare Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist

Mehr

Starten der Software unter Windows 7

Starten der Software unter Windows 7 Starten der Software unter Windows 7 Im Folgenden wird Ihnen Schritt für Schritt erklärt, wie Sie Ihr persönliches CONTOUR NEXT USB auf dem Betriebssystem Ihrer Wahl starten und benutzen. Schritt 1. Stecken

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr

Kostenstellen verwalten. Tipps & Tricks

Kostenstellen verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Kostenstellen erstellen 3 13 1.3 Zugriffsberechtigungen überprüfen 30 2 1.1 Kostenstellen erstellen Mein Profil 3 1.1 Kostenstellen erstellen Kostenstelle(n) verwalten 4

Mehr

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem

Mehr

Installationsanleitung

Installationsanleitung Idee und Umsetzung Lars Lakomski Version 4.0 Installationsanleitung Um Bistro-Cash benutzen zu können, muss auf dem PC-System (Windows 2000 oder Windows XP), wo die Kassensoftware zum Einsatz kommen soll,

Mehr

Eigenen Farbverlauf erstellen

Eigenen Farbverlauf erstellen Diese Serie ist an totale Neulinge gerichtet. Neu bei PhotoLine, evtl. sogar komplett neu, was Bildbearbeitung betrifft. So versuche ich, hier alles einfach zu halten. Ich habe sogar PhotoLine ein zweites

Mehr

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

Second Steps in eport 2.0 So ordern Sie Credits und Berichte Second Steps in eport 2.0 So ordern Sie Credits und Berichte Schritt 1: Credits kaufen, um Zugangscodes generieren zu können Wählen Sie Credits verwalten und klicken Sie auf Credits kaufen. Geben Sie nun

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

Abruf und Versand von Mails mit Verschlüsselung

Abruf und Versand von Mails mit Verschlüsselung Bedienungstip: Verschlüsselung Seite 1 Abruf und Versand von Mails mit Verschlüsselung Die folgende Beschreibung erklärt, wie man mit den üblichen Mailprogrammen die E- Mailabfrage und den E-Mail-Versand

Mehr

Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.

Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen. HACK #39 Hack Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.»verschlüsseln Sie Ihren Temp-Ordner«[Hack #33] hat Ihnen gezeigt, wie Sie Ihre Dateien mithilfe

Mehr

Erste Schritte. Lavid-F.I.S. Faktura. Erste Schritte

Erste Schritte. Lavid-F.I.S. Faktura. Erste Schritte Lavid-F.I.S. Dauner Straße 12, 41236 Mönchengladbach Tel. 02166-97022-0, Fax -15, Email info@lavid-software.net 1 Inhalt 1 Inhalt... 2 2 Wie erfasse ich Artikel?... 3 3 Wie lege ich ein Angebot für einen

Mehr

Live Update (Auto Update)

Live Update (Auto Update) Live Update (Auto Update) Mit der Version 44.20.00 wurde moveit@iss+ um die Funktion des Live Updates (in anderen Programmen auch als Auto Update bekannt) für Programm Updates erweitert. Damit Sie auch

Mehr

3. Neuen Newsbeitrag erstellen Klicken Sie auf das Datensatzsymbol mit dem +, damit Sie einen neuen Newsbeitrag erstellen können.

3. Neuen Newsbeitrag erstellen Klicken Sie auf das Datensatzsymbol mit dem +, damit Sie einen neuen Newsbeitrag erstellen können. Tutorial Newsbeitrag erstellen Das folgende Tutorial erklärt in wenigen Schritten, wie man einen Newsbeitrag zur Homepage des TSV Tübach hinzufügt und direkt online erstellt. Inhalt 1. Login ins Admintool

Mehr

Eclipse 3.0 (Windows)

Eclipse 3.0 (Windows) Eclipse Seite 1 Eclipse 3.0 (Windows) 1. Eclipse installieren Eclipse kann man von der Webseite http://www.eclipse.org/downloads/index.php herunterladen. Eclipse ist für Windows, Mac und Linux erhältlich.

Mehr

1. Software installieren 2. Software starten. Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software

1. Software installieren 2. Software starten. Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software 1. Software installieren 2. Software starten Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software 3. Auswahl 1. Neues Fotobuch erstellen oder 2. ein erstelltes, gespeichertes Fotobuch laden und bearbeiten.

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

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

Mehr

NetStream Helpdesk-Online. Verwalten und erstellen Sie Ihre eigenen Tickets

NetStream Helpdesk-Online. Verwalten und erstellen Sie Ihre eigenen Tickets Verwalten und erstellen Sie Ihre eigenen Tickets NetStream GmbH 2014 Was ist NetStream Helpdesk-Online? NetStream Helpdesk-Online ist ein professionelles Support-Tool, mit dem Sie alle Ihre Support-Anfragen

Mehr

Partitionieren in Vista und Windows 7/8

Partitionieren in Vista und Windows 7/8 Partitionieren in Vista und Windows 7/8 Windows Vista und Windows 7 können von Haus aus Festplatten partitionieren. Doch die Funktion ist etwas schwer zu entdecken, denn sie heißt "Volume verkleinern".

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

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline Öffentliche Ordner Offline INDEX Öffentliche Ordner erstellen Seite 2 Offline verfügbar einrichten Seite 3 Berechtigungen setzen Seite 7 Erstelldatum 12.08.05 Version 1.1 Öffentliche Ordner Im Microsoft

Mehr

Musterlösung für Schulen in Baden-Württemberg. Windows 2003. Basiskurs Windows-Musterlösung. Version 3. Stand: 19.12.06

Musterlösung für Schulen in Baden-Württemberg. Windows 2003. Basiskurs Windows-Musterlösung. Version 3. Stand: 19.12.06 Musterlösung für Schulen in Baden-Württemberg Windows 2003 Basiskurs Windows-Musterlösung Version 3 Stand: 19.12.06 Impressum Herausgeber Zentrale Planungsgruppe Netze (ZPN) am Kultusministerium Baden-Württemberg

Mehr

Import, Export und Löschung von Zertifikaten mit dem Microsoft Internet Explorer

Import, Export und Löschung von Zertifikaten mit dem Microsoft Internet Explorer Import, Export und Löschung von Zertifikaten mit dem Microsoft Internet Explorer Version 1.0 Arbeitsgruppe Meldewesen SaxDVDV Version 1.0 vom 20.07.2010 Autor geändert durch Ohle, Maik Telefonnummer 03578/33-4722

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

Klicken Sie mit einem Doppelklick auf das Symbol Arbeitsplatz auf Ihrem Desktop. Es öffnet sich das folgende Fenster.

Klicken Sie mit einem Doppelklick auf das Symbol Arbeitsplatz auf Ihrem Desktop. Es öffnet sich das folgende Fenster. ADSL INSTALLATION WINDOWS 2000 Für die Installation wird folgendes benötigt: Alcatel Ethernet-Modem Splitter für die Trennung Netzwerkkabel Auf den folgenden Seiten wird Ihnen in einfachen und klar nachvollziehbaren

Mehr

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007 Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Mehr

Serienbrief erstellen

Serienbrief erstellen Serienbrief erstellen Mit einem perfekt vorbereiteten Serienbrief können Sie viel Zeit sparen. In unserem Beispiel lesen wir die Daten für unseren Serienbrief aus einer Excel Tabelle aus. Die Tabelle hat

Mehr

Durchführung der Datenübernahme nach Reisekosten 2011

Durchführung der Datenübernahme nach Reisekosten 2011 Durchführung der Datenübernahme nach Reisekosten 2011 1. Starten Sie QuickSteuer Deluxe 2010. Rufen Sie anschließend über den Menüpunkt /Extras/Reisekosten Rechner den QuickSteuer Deluxe 2010 Reisekosten-Rechner,

Mehr

Anleitung zum Upgrade auf SFirm 3.1 + Datenübernahme

Anleitung zum Upgrade auf SFirm 3.1 + Datenübernahme I. Vorbereitungen 1. Laden Sie zunächst die Installationsdateien zu SFirm 3.1, wie in der Upgrade-Checkliste (Schritt 1.) beschrieben, herunter (www.sparkasse-forchheim.de/sfirm) 2. Starten Sie nochmals

Mehr

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb CashPro basiert auf Accesstechnologie 2003 und ist auch unter den aktuellen Accessversionen 2007 bis 2013 einsetzbar und Mehrbenutzerfähig.

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

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Import des persönlichen Zertifikats in Outlook Express

Import des persönlichen Zertifikats in Outlook Express Import des persönlichen Zertifikats in Outlook Express 1.Installation des persönlichen Zertifikats 1.1 Voraussetzungen Damit Sie das persönliche Zertifikat auf Ihrem PC installieren können, benötigen

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

Anleitungen zum KMG-Email-Konto

Anleitungen zum KMG-Email-Konto In dieser Anleitung erfahren Sie, wie Sie mit einem Browser (Firefox etc.) auf das Email-Konto zugreifen; Ihr Kennwort ändern; eine Weiterleitung zu einer privaten Email-Adresse einrichten; Ihr Email-Konto

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

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

Erklärung zum Internet-Bestellschein

Erklärung zum Internet-Bestellschein Erklärung zum Internet-Bestellschein Herzlich Willkommen bei Modellbahnbau Reinhardt. Auf den nächsten Seiten wird Ihnen mit hilfreichen Bildern erklärt, wie Sie den Internet-Bestellschein ausfüllen und

Mehr

Der einfache Weg zum CFX-Demokonto

Der einfache Weg zum CFX-Demokonto Der einfache Weg zum CFX-Demokonto Diese Anleitung hilft Ihnen bei der Eröffnung eines Demokontos beim CFX Broker. Jeder Schritt bis zur vollständigen Eröffnung wird Ihnen im Folgenden erklärt. Zur besseren

Mehr

Folge 18 - Vererbung

Folge 18 - Vererbung Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,

Mehr

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT Boris Golubovic Dortmund, den 24. Oktober 2010 Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT Ein Projekt anlegen Ein Projekt kapselt alle zu einer Anwendung gehörenden

Mehr

Umstellung News-System auf cms.sn.schule.de

Umstellung News-System auf cms.sn.schule.de Umstellung News-System auf cms.sn.schule.de Vorbemerkungen Hinweis: Sollten Sie bisher noch kein News-System verwendet haben, nutzen Sie die Anleitung unter http://cms.sn.schule.de/admin/handbuch/grundlagen/page/25/

Mehr

Einkaufslisten verwalten. Tipps & Tricks

Einkaufslisten verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Grundlegende Informationen 3 1.2 Einkaufslisten erstellen 4 1.3 Artikel zu einer bestehenden Einkaufsliste hinzufügen 9 1.4 Mit einer Einkaufslisten einkaufen 12 1.4.1 Alle

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

YouTube: Video-Untertitel übersetzen

YouTube: Video-Untertitel übersetzen Der Easytrans24.com-Ratgeber YouTube: Video-Untertitel übersetzen Wie Sie mit Hilfe von Easytrans24.com in wenigen Schritten Untertitel für Ihre YouTube- Videos in mehrere Sprachen übersetzen lassen können.

Mehr

Installationsanleitung CLX.PayMaker Home

Installationsanleitung CLX.PayMaker Home Installationsanleitung CLX.PayMaker Home Inhaltsverzeichnis 1. Installation und Datenübernahme... 2 2. Erste Schritte Verbindung zur Bank einrichten und Kontoinformationen beziehen... 4 3. Einrichtung

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

DOKUMENTATION VOGELZUCHT 2015 PLUS

DOKUMENTATION VOGELZUCHT 2015 PLUS DOKUMENTATION VOGELZUCHT 2015 PLUS Vogelzucht2015 App für Geräte mit Android Betriebssystemen Läuft nur in Zusammenhang mit einer Vollversion vogelzucht2015 auf einem PC. Zusammenfassung: a. Mit der APP

Mehr

Bedienungsanleitung für BackupMotion

Bedienungsanleitung für BackupMotion Bedienungsanleitung für BackupMotion In den folgenden Punkten wird die Bedienung von BackupMotion Schritt für Schritt erklärt. (gilt für Home und Pro Version des Produktes) 1 S e i t e Inhaltsverzeichnis

Mehr

Vorgehensweise für die Umstellung von Quicken-Konten bei Bargeldbuchungen auf ein Wertpapierkonto

Vorgehensweise für die Umstellung von Quicken-Konten bei Bargeldbuchungen auf ein Wertpapierkonto Vorgehensweise für die Umstellung von Quicken-Konten bei Bargeldbuchungen auf ein Wertpapierkonto Bevor Sie Ihre Datei nach Quicken 2010, bzw. 2011 konvertieren, können Sie in Ihrer jetzt benutzten Version

Mehr

Kurzeinführung Excel2App. Version 1.0.0

Kurzeinführung Excel2App. Version 1.0.0 Kurzeinführung Excel2App Version 1.0.0 Inhalt Einleitung Das Ausgangs-Excel Excel-Datei hochladen Excel-Datei konvertieren und importieren Ergebnis des Imports Spalten einfügen Fehleranalyse Import rückgängig

Mehr

Anleitung RÄUME BUCHEN MIT OUTLOOK FÜR VERWALTUNGSANGESTELLTE

Anleitung RÄUME BUCHEN MIT OUTLOOK FÜR VERWALTUNGSANGESTELLTE Anleitung RÄUME BUCHEN MIT OUTLOOK FÜR VERWALTUNGSANGESTELLTE Dezernat 6 Abteilung 4 Stand: 14.Oktober 2014 Inhalt 1. Einleitung 3 2. Räume & gemeinsame Termine finden 3 3. Rüstzeit 8 4. FAQ: Oft gestellte

Mehr