Größe: px
Ab Seite anzeigen:

Download ""

Transkript

1 Prorammierun I: JAVA Skript zur Vorlesun WS 1998è99 Katharina Morik 22. November

2 Inhaltsverzeichnis 1 Einleitun 3 2 Einfíuhrun in objektorientiertes Modellieren Grundberiæe Modellierun Was wissen Sie jetzt? Einfíuhrun in JAVA - erste Schritte Syntax fíur Klassen Die Behíalterklasse Vector Was wissen Sie jetzt? Variablen und Typen Variablendeklaration Einfache Datentypen Wertzuweisunen Was wissen Sie jetzt? Operatoren Was wissen Sie jetzt? Methoden Methodendeklaration Realisierun von Assoziationen Parameteríuberabe Das vollstíandie Ballbeispiel Prorammzustíande Was wissen Sie jetzt? Kontrollstrukturen Felder Abstrakte Klassen, Schnittstellen Sichtbarkeit Pakete und Sichtbarkeit Zuriæskontrolle Das Konturmodell Einebettete Klassen Fehlerbehandlun Was wissen Sie jetzt? Sequenzen und Sortierun Selektionssortierun Ein Modell fíur das Sortieren Realisierun in JAVA Induktionsbeweis Induktionsbeweis am Beispiel der Selektionssortierun Was wissen Sie jetzt? Abstrakte Datentypen Listen als Verkettete Listen

3 3 4.4 Schlanen Keller Rekursion Sortierun durch Mischen Was wissen Sie jetzt? Aufwandsabschíatzun Aufwandsabschíatzun fíur die Sortierun durch Mischen Schnellsortierun Was wissen Sie jetzt? Performanztest Bíaume, Graphen und Suche Biníare Bíaume Tiefen- und Breitensuche Bíaume mit aneordneten Knoten Was wissen Sie jetzt? Graphen Darstellun von Menen Charakteristische Vektoren Hashin Was wissen Sie jetzt? Ereinisbehandlun und raphische Oberæíachen Textzeilen als Benutzereinabe Komponenten Container Ereinisse Container und Layout Selbst malen AWT und Swin Was wissen Sie jetzt? Nebenlíauæe Prorammierun Threads Synchronisation Deadlocks Schlafen und aufwecken Was wissen Sie jetzt? Netzwerkinteration und verteilte Prorammierun Client í Server Remote Methode Invocation Stíumpfe und Skelette Ein Beispiel fíur einen Server Start des Servers und des Clients

4 4 A Einfíuhrun in die Rechnerbenutzun 146 A.1 Unix A.1.1 Dateiverwaltun A.2 Arbeiten im Netz A.2.1 Elektronische Post A.2.2 World Wide Web A.2.3 News A.3 Emacs A.3.1 Wichtie Befehle und Tastenkombinationen A.3.2 JavaíModus A.3.3 Weitere Hilfe zum Emacs A.4 Java Entwicklunsumebun A.4.1 Der JavaíCompiler A.4.2 Der JavaíInterpreter A.4.3 Das Java Archivwerkzeu A.4.4 Der JavaíDebuer A.4.5 Der Appletviewer A.5 Applets A.6 Weitere Informationen

5 1 Danksaun Bei dem Abenteuer, JAVA an der Universitíat Dortmund fíur die Erstsemestervorlesun einzufíuhren und eine neue Vorlesun mit Skript, Folien, Beispielprorammen zu estalten, haben mich viele Menschen unterstíutzt. Prof. Vornberer und Frank Thiesin von der Universitíat Osnabríuck haben mir Skript, Beispiele und Aufaben ihrer wunderbaren JAVA-Vorlesun Alorithmen zur Verfíuun estellt. An unserem Fachbereich hat mir insbesondere Arnulf Mester Mut emacht und Doris Schmeddin hat sorfíalti im Skript Fehler aufespíurt. Daç bei der kurzen Zeit fíur die Vorlesunsvorbereitun ènennen Sie die niemals ësemesterferien"!è dennoch Fehler im Skript verbleiben, versteht sich von selbst. Am Lehrstuhl 8 haben die wissenschaftlichen Mitarbeiter Ralf Klinkenber und Stefan Haustein manche Stunde mit mir und fíur mich am Rechner verbracht. Sascha Líudecke hat Implementationen, Text zum Listenabschnitt und Humor beiesteuert. Dirk Burkamp hat zur Darstellun der verteilten und nebenlíauæen Prorammierun, aber auch zu Diskussionen íuber Sinn und Zweck der Vorlesun wesentlich beietraen. Stefan Ríupin hat ein Proramm zur íuberfíuhrun von JAVA-Code in Text.tex eschrieben. Er ist auch der Autor des Anhans zur Rechnerbenutzun. Andreas Greve hat die Installation der Proramme vorenommen und das Skript Korrektur elesen. Selbstverstíandlich hat die Informatikrechner Betriebsruppe alles etan, um den íubunsbetrieb in JAVA fíur die Studierenden anenehm zu machen. Gebrauchsanweisun Dieses Skript ibt einie Deænitionen und Beispiele der Vorlesun Prorammierun í JAVA wieder und verweist auf Bíucher, in denen wichtie Inhalte der Vorlesun zu ænden sind. Es ersetzt weder die Vorlesunsstunden noch die Lektíure der aneebenen Literatur. Es soll aber die Vor- und Nachbereitun der Vorlesun und die Vorbereitun auf die Klausur erleichtern. Die Vorlesunsunterlaen bestehen aus: Skript: ibt die wichtisten Deænitionen in einheitlicher Terminoloie wieder; zeit durch den Index, was Studierende wissen míussen, um erfolreich weiterstudieren zu kíonnen. Mitschrift: schreiben Sie selbst; verdeutlicht eiene Schwierikeiten und deren Auæíosun. Literatur: Die aneebenen Bíucher teilen sich in drei Kateorien auf: æ JAVA-Bíucher zum Nachschlaen von Konstrukten der Prorammiersprache mit ihren Prorammbibliotheken; als Einfíuhruns- und Nachschlaewerke zur Prorammiersprache JAVA seien empfohlen: Flanaan, David è1998è: JAVA in a Nutshell, deutsche Ausabe fíur JAVA 1.1, O'Reilly Goslin, James, Joy, Bill, Steele,Guy è1997è: JAVA í Die Sprachspeziækation, deutsche Ausabe, Addison-Wesley

6 2 Bishop, Judy è1998è: JAVA Gently í Prorammin Principles Explained, 2nd edition, Addison-Wesley Campione, Mary, Walrath, Kathyè1998è: The JAVA Tutorial, 2nd edition, Addison-Wesley æ Lehrbíucher der Informatik èprorammierunè; als Informatik-Bíucher zur Prorammierun empfehle ich: Goos, Gerhard è1996è: Vorlesunen íuber Informatik Band 2 í Objektorientiertes Prorammieren und Alorithmen, Spriner Diçmann, Stefan, Doberkat, Ernst-Erich èdemníachstè: Einfíuhrun in die objektorientierte Prorammierun mit JAVA æ vertiefende Literatur; die vertiefende Literatur wird im Skript anefíuhrt an den Stellen, fíur die sie relevant ist. íubunsaufaben und ihre Líosunen : eríanzen die Mitschrift. Erfahrunsemíaç fallen erade diejenien Studierenden durch die Klausur, die nicht die íubunsaufaben emacht haben. Die eienen Erfahrunen, die bei der Líosun von Aufaben esammelt werden, sind durch nichts zu ersetzen! Proramme : als Hilfsmittel fíur die eiene Prorammierun sind einie JAVA-Klassen schon fíur Sie vorbereitet, die Sie dann einfach in Ihren Prorammen wiederverwenden kíonnen. Sie sind im Verzeichnis çvpr000èprovorlesunèpackaesè zu ænden. Weiterhin als Illustration und zum Ausprobieren ibt es zu jedem Abschnitt Beispielproramme. Diese Proramme sind im Verzeichnis çvpr000èprovorlesunèbeispieleè espeichert. Fíur Ihre eienen Proramme leen Sie selbst Verzeichnisse an. èwie, sehen Sie im Anhan.è

7 3 1 Einleitun Grundsíatzlich ist die Informatik jedoch die Wissenschaft der Abstraktion í das richtie Modell fíur ein Problem zu entwerfen und die anemessene mechanisierbare Technik zu ersinnen, um es zu líosen. ëaho und Ullman, 1996ë Bei der Prorammentwicklun ænden wir emeinsam mit einem Anwender bzw. einer Auftraeberin eine Aufabenbeschreibun. Diese abstrahiert bereits von vielen konkreten Voríanen, die das Proramm realisieren soll. Anhand der Aufabenbeschreibun wird ein Modell entwickelt, das die komplexe Aufabe in Teile aufliedert. Je nach Prorammierparadima sind diese Teile æ Klassen und Objekte èobjektorientierte Prorammierunè, æ Funktionen èfunktionale Prorammierunè oder æ loische Beziehunen zwischen Sachverhalten èloische Prorammierunè. Auf der abstrakten Ebene des Modells werden die Teile mit ihren Zustíandikeiten und Kooperationen herausearbeitet ès. Abschnitt 2.2è. Deænition 1.1: Prorammierun im Groçen Die Konzentration auf das Zusammenwirken von Teilen nennt man Prorammierun im Groçen, weil hier von der inneren Gestalt der Teile abstrahiert wird. Betrachtet wird das Auçenverhalten von Teilen. Der enlische Terminus ist prorammin in the lare. Bei der Prorammierun im Groçen werden Arbeitsablíaufe betrachtet, eine Architektur fíur die Software entworfen, die Menen von Aufaben zu Modulen anordnet und die Beziehunen zwischen den Modulen anibt. Die Teile sind also sehr robe Aufabenpakete. Fíur die abstrakten Teile míussen konkrete Umsetzunen efunden werden. Manche Umsetzunen sind inzwischen Standard eworden. So hat man beispielsweise fíur eordnete Menen èz.b. Teilnehmer an einem Wettbewerb, nach ihrer Startnummer eordnetè das Modell der Liste efunden. Das Modell der Liste kann dann durch die Datenstruktur einer verketteten Liste realisiert werden. In dem Modell wird ebenfalls aneeben, was mit der Liste emacht werden soll. In der Teilnehmerliste wollen wir einen Teilnehmer ænden í hat er sich wirklich anemeldet? Das Wesentliche an der verketteten Liste ist also, daç wir darin suchen. Eine eebene Prorammiersprache erlaubt dann eine bestimmte Formulierun der Datenstruktur. Deænition 1.2: Prorammierun im Kleinen Die Ausformulierun von Teilen nennt man Prorammierun im Kleinen, weil auf die Einzelheiten eines Teils eachtet wird. Betrachtet wird die interne Realisierun eines Teils. Der enlische Terminus ist prorammin in the small. Bei der Prorammierun im Kleinen haben wir immer drei Fraen: Was soll realisiert werden èeine Zahl, eine Liste, eine Mene...è? Wie soll es realisiert werden èdurch eine mit 16 Bit darestellte anze Zahl, durch eine verkettete Liste,...è?

8 4 Warum ist die Realisierun verníunfti èweil sie nach nur endlich vielen Schritten bestimmt das Erebnis ausibt; weil sie meist nach nur 16 Sekunden das Erebnis ausibtè? Wenn wir ein Modell und seine Realisierun erstellt haben, íuberleen wir í wiederum abstrakt í, ob wir eine verníunftie Líosun efunden haben. Was kann mit verníunfti emeint sein? Arbeitsablauf: Das Proramm wird in einer bestimmten Arbeitssituation von bestimmten Menschen oder anderen Maschinen enutzt. Wird der Arbeitsablauf durch das Proramm besser und fíur die Menschen anenehmer? Welche Ziele der an dem Arbeitsablauf beteiliten Menschen werden in welchen Anteilen erfíullt, welche nicht? Mit derlei Fraen beschíaftit sich das Fach Informatik und Gesellschaft. Wartbarkeit und Wiederverwendbarkeit: Groçe Proramme míussen ewartet werden. Zum einen, weil die Welt sich íandert, in der die Proramme einesetzt werden und die sie in Teilen abbilden. Zum anderen, weil man immer einen Fehler macht, etwas íubersieht, wenn man ein Proramm entwickelt. Deshalb ist die Wartun von Software ein wichties Thema der Softwaretechnoloie. Bei wissensbasierten Systemen der Kíunstlichen Intellienz ist die Wartun und Revidierbarkeit ein Forschunsschwerpunkt. Wiederverwendbarkeit bezeichnet die Míolichkeit, nicht immer wieder von vorn anfanen zu míussen, sondern Teile veralteter Proramme in den neuen Prorammen verwenden zu kíonnen. Voraussetzun dafíur ist, daç míolichst unabhíanie Prorammteile èmoduleè nur durch wohldeænierte Schnittstellen mit anderen Prorammteilen verbunden sind, daç Annahmen, die bei der Prorammierun emacht wurden, auch dokumentiert sind, daç man sich beim Prorammieren um Allemeinheit bemíuht, statt sehr spezielle Líosunen zu prorammieren. Eæektivitíat: Sind alle Fíalle, die vorkommen kíonnen, abedeckt? Dies ist die Frae nach der Vollstíandikeit. Berechnen wir immer das richtie Erebnis? Dies ist die Frae nach der Korrektheit. Das Spezialebiet der Informatik, das sich mit diesen Fraen befaçt ist die Prorammveriækation. Eæzienz: Innerhalb der Komplexitíatstheorie wird die Schwierikeit von Problemen untersucht. Dabei schíatzen wir unter anderem den Aufwand ab, der im schlimmsten Fall von dem Proramm zu erbrinen ist: wie lane wird der Rechner uns im schlimmsten Falle auf ein Erebnis warten lassen? Zusíatzlich zur analytischen Aufwandsabschíatzun kommt in der praktischen Informatik die empirische íuberpríufun durch systematische Experimente. Wie lan braucht das Proramm unter bestimmten, systematisch variierten Umstíanden, bis es ein Erebnis liefert? Im Berufsleben einer Informatikerin oder eines Informatikers spielen Modellierun und Entwicklun nach wie vor eine erhebliche Rolle. Dabei wird meist bereits vorhandene Software enutzt. Es macht die Qualitíat einer Informatikerin bzw. eines Informatikers aus, 1. Anwendern so ut zuzuhíoren, daç eine umfassende Aufabenbeschreibun emeinsam erarbeitet werden kann; 2. íubersichtliche Modelle fíur komplexe Aufaben zu erstellen;

9 5 3. Standardumsetzunen zu kennen und bei der Konkretisierun von Modellen einsetzen zu kíonnen; 4. sich anhand der Standardumsetzunen rasch in einer èauch: neuen, noch unbekanntenè Prorammiersprache wiederzuænden und von der Sprache in Prorammbibliotheken bereitestellte Umsetzunen zu nutzen; 5. die eiene Prorammentwicklun klar zu dokumentieren und nach Eæektivitíat und Eæzienz zu bewerten. In dieser Vorlesun werden die Punkte 2 bis 4 am Beispiel der objektorientierten Prorammiersprache JAVA einefíuhrt. Der dritte Punkt verlant viel Eienarbeit anhand von íubunsaufaben von Ihnen. Der erste Punkt wird hier noch durch Beispiele ersetzt und der letzte Punkt nur einfíuhrend anesprochen. 2 Einfíuhrun in objektorientiertes Modellieren Objektorientiertes Modellieren ist nicht nur im Rahmen des Entwurfs eines Proramms, das auf einer Rechenanlae ablíauft, anwendbar. Ein objektorientiertes Modell kann Arbeitszusammenhíane, Oranisationen oder die Konstruktion technischer Geríate beschreiben. Dann wird das Modell in Form von Diarammen darestellt, die von Menschen interpretiert werden. Setzen wir den objektorientierten Entwurf um in ein èobjektorientiertesè Proramm, so wird dieses Proramm von der Prorammiersprache interpretiert èausefíuhrtè. 2.1 Grundberiæe Wir fassen eine Aufabe oder ein System als eine Mene miteinander kooperierender Einheiten èteilsystemeè auf. Diese Einheiten oder Teile sind Objekte des Weltausschnitts, den wir modellieren. Ein Objekt ist ein Din mit einer Tíatikeit: der Fuçball, der rollt, meine Lampe, die leuchtet. Dabei ist ein Objekt immer ein anz bestimmtes Din èoder Wesen oder Abstraktumè, also der blaue Ball von Uta, meine Schreibtischlampe. In der Philosophie spricht man von Einzeldinen. Zum Beispiel sind historische Ereinisse, materielle Objekte, Menschen und deren Schatten nach meinem wie nach den íanisten Arten philosophischen Sprachebrauchs síamtlich Einzeldine; Eienschaften, Zahlen und Gattunen daeen nicht... ëstrawson, 1959ë Objekte sind voneinander verschieden, auch wenn ihre Beschreibun es nicht deutlich macht. Selbst wenn eine Firma zwei Anestellte mit demselben Namen und demselben Geburtsdatum in derselben Abteilun hat, muç sie beiden ein Gehalt bezahlen! Zahlen sind deshalb keine Einzeldine, weil sie stets mit sich selbst leich sind: es ibt nur eine 1, eal wo, wofíur und wie oft wir sie verwenden. Objekte haben Eienschaften, die wir aneben kíonnen: Utas Ball ist blau, meine Schreibtischlampe ist weiç. Wir unterscheiden, daç ein Objekt eine Eienschaft hat í z.b. eine Farbe í davon, welche Auspríaun der Eienschaft es hat í z.b. blau. Objekte kíonnen etwas tun oder auf Tíatikeiten reaieren: Utas Ball rollt, wenn sie ihn tritt, meine Lampe beleuchtet den Schreibtisch, wenn ich sie einschalte. Wir betrachten den Tritt

10 6 een den Ball als eine Botschaft an den Ball. Es wird ihm miteteilt, mit welcher Kraft, an welcher Stelle er etreten wird. Der Ball hat eine Methode, wie er auf eine Botschaft reaiert: er rollt in eine bestimmte Richtun eine bestimmte Strecke. Objekte sind Exemplare èbeispiele, Instanzenè einer Klasse. Utas blauer Ball ist ein Ball, meine Schreibtischlampe ist eine Lampe. Alle Objekte einer Klasse haben die Eienschaften und Methoden dieser Klasse. Daç ein Ball eine Farbe hat wird durch die Klasse festelet. Bei einien Eienschaften wird obendrein die Auspríaun einer Eienschaft durch die Klasse aneeben. So habe ich die runde Form bei Utas Ball nicht aneben míussen, weil diese Auspríaun der Form fíur alle Objekte der Klasse ilt. Auch die Methode der Beweun aufrund eines Tritts muç nicht bei Utas Ball aneeben werden. Sie kann als Methode bei der Klasse beschrieben werden, so daç sie fíur alle Bíalle ilt. Die Farbe ist allerdins eine Eienschaft, in deren Auspríaun sich verschiedene Bíalle unterscheiden. Die Auspríaun wird deshalb bei dem Objekt aneeben. Ein Objekt einer Klasse erhíalt die Eienschaften und Methoden der Klasse 1.Wenn ein neues Objekt einer Klasse erzeut wird èinstanziierunè, dann bekommt es alle Eienschaften und eventuell einie Auspríauen der Eienschaften. Eine Klasse ibt ihre Eienschaften und Methoden an ihre Objekte weiter. Deænition 2.1: Klasse Eine Klasse beschreibt die Eienschaften und das Verhalten einer Mene leichartier Objekte. Die Klasse let fest, daç die Objekte bestimmte Eienschaften und Methoden haben. Sie kann fíur einie Eienschaften auch die Auspríaun festleen. Dann haben alle Objekte der Klasse diese Auspríaunen von Eienschaften. Deænition 2.2: Objekt Ein Objekt ist ein Einzeldin. Es erhíalt die Eienschaften èf. auch mit Auspríaunè und Methoden seiner Klasse und kann daríuberhinaus Auspríaunen fíur Eienschaften haben, von denen die Klasse nur anibt, daç sie bei allen Objekten in irendeiner Auspríaun vorhanden sind. Es ibt Ober- und Unterklassen. So ist ein Mensch ein Síauetier und ein Síauetier ein Lebewesen. Die Oberklasse vererbt ihre Eienschaften und Methoden an ihre Unterklassen. Wir erhalten eine Hierarchie. Ein Mann ist ein Mensch und hat damit auch alle Eienschaften und Methoden von Síauetieren, die ja bereits alle Eienschaften und Methoden von Lebewesen eerbt haben. Somit hat auch der Mann alle Eienschaften und Methoden von Lebewesen ès. Abbildun 1è. Deænition 2.3: Vererbun Der Beriæ der Vererbun èinheritanceè kann verschiedene Beziehunen zwischen Klassen ausdríucken, darunter ëgoos, 1996ë: A ist ein B: Die Unterklasse A íubernimmt alle Eienschaften und Methoden der Klasse B ohne Einschríankun. Auspríaunen der Eienschaften kíonnen fíur A aneeben sein, die bei B nicht festelet waren. Der Katalo der Eienschaften kann bei A ríoçer sein als bei B. 1 Wenn ichvon ëeienschaften" spreche, ohne ihr Vorhandensein von ihrer Auspríaun zu unterscheiden, meine ich das Vorhandensein der Eienschaft und eebenenfalls die Auspríaun.

11 7 Lebewesen Säuetier Mensch Mann Frau Studierende Studentin Abbildun 1: Vererbunshierarchie A ist eine Spezialisierun von B: Ein leichseities Dreieck èaè ist eine Spezialisierun eines Dreiecks èbè, fíur das man keine drei unterschiedlichen Seitenlíanen aneben kann. Hier íandert sich der Katalo der Eienschaften von B insofern als die míolichen Auspríaunen der Eienschaften in A eineschríankt sind, so daç einie Eienschaften entfallen. A implementiert B: A realisiert die Konzepte von B. CD-Spieler realisieren diitale Abspieleríate. A verwendet von B: Averwendet den Code von B. Deænition 2.4: Mehrfachvererbun Erbt eine Klasse von mehreren Klassen, so spricht man von Mehrfachvererbun. Eine Studentin ist eine Frau und eine Studierende. ès. ëgoos, 1996ë, S. 148; s. Abbildun 1è. Mit der Vererbunshierarchie und der Instanziierunsbeziehun zwischen einem Objekt und der Klasse, der es anehíort, kommen wir nicht aus. So sollen beispielsweise Uta èin der Hierarchie Mensch, Síauetier, Lebewesenè und ihr blauer Ball èin der Hierarchie Ball, Kuel, unbelebtes, physikalisches Objektè in Verbindun ebracht werden. Die Kooperation von Objekten beschreiben wir durch Assoziationen. Uta besitzt ihren blauen Ball. Uta tritt ihren Ball. Es wird bei Uta aneeben, daç sie einen blauen Ball besitzt. Uta ist dafíur zustíandi, wie sie ihren Ball tritt. Wenn auch bei dem Ball vermerkt werden soll, wem er ehíort, so míussen wir eine weitere Assoziation einfíuhren, die von dem Ball zu seiner Besitzerin fíuhrt. Der Ball ist dafíur zustíandi, wie er auf einen Tritt reaiert. In der Sprechweise der objektorientierten Methode: der Ball empfíant eine Botschaft von Uta und behandelt sie mit seiner Methode.

12 8 Vorstand Firma Abteilunsleiterin Abteilun Mitarbeiter (Team) Abbildun 2: Areation und Komposition Wir unterscheiden zwei Arten von Assoziationen, die eine Beziehun zwischen einem Ganzen und seinen Teilen ausdríucken: Areation und Komposition. Die Areation wird als besteht aus elesen und mit einem leeren Rombus am Ende der Linie ezeichnet. So besteht meine Lampe aus dem Schirm, der Fassun, der Glíuhbirne, dem Kabel. Natíurlich kíonnen wir alles in seine Bestandteile zerleen. Es níutzt aber fíur meinen Uman mit der Lampe weni, auch noch die Bestandteile der Fassun, der Birne, des Kabels zu modellieren. Ist die Lampe allerdins kaputt, so ist ein anderer als der normale Uman erforderlich und eine feinere Modellierun wichti. Der Zweck der Modellierun bestimmt also die Feinheit ègranularitíatè und damit, was als Objekt noch beschrieben und was schlicht inoriert werden soll. Als Faustreel ilt: Alles, was Botschaften empfanen und mit einem anderen Objekt assoziiert werden soll, wird als Objekt aufefaçt. Die typische Verwendun der Areation bezieht sich auf Oranisationsstrukturen. Eine Firma besteht aus einem Vorstand und Abteilunen. Eine Abteilun besteht aus einem Abteilunsleiter oder einer Abteilunsleiterin und MitarbeiterInnen. Abteilunsleiter empfanen Berichte und Anreunen von ihren MitarbeiterInnen. Es muç nicht beschrieben werden, woraus Abteilunsleiter bestehen. Einie Beziehunen zwischen einem Ganzen und seinen Teilen sind derestalt, daç das Wefallen des Ganzen zur Auæíosun der Teile fíuhrt. Eine solche Assoziation wird Komposition enannt. Man kann eine Abteilun auæíosen und hat damit immer noch die MitarbeiterInnen. Sie sind nun eben direkt der Firma zueordnet. Es handelt sich also um eine normale Areation. Wenn aber die Firma aufhíort zu existieren, dann fallen auch der Vorstand und die Abteilunen fort. ènatíurlich ibt es die Menschen noch, aber nicht mehr in ihrer Rolle z.b. als Vorstandsmitlied.è Diese Assoziation ist eine Komposition. Die Komposition wird mit einem schwarz ausefíullten Rombus ezeichnet. Ein Beispiel zeit Abbildun 2. Assoziationen kíonnen n Objekte mit m anderen Objekten in Verbindun brinen. So besucht eine Studentin mehrere Vorlesunen. Eine Professorin liest eine Vorlesun fíur mehrere Studierende. Híatten wir keine erichtete Assoziation, sondern eine Relation zwischen n ProfessorInnen und m Studierenden, so wíare es eine n : m-relation èwie in Abbildun 3è. Wenn wir aber eine erichtete Assoziation haben, so eben wir nur entweder die Assoziation zwischen einer Studentin und den von ihr ehíorten Vorlesunen an oder die Assoziation zwischen einem Professor und den von ihm ehaltenen Vorlesunen ès. Abbildun 4è.

13 9 Vorlesun Student 1 Professor 1.. Professor n Student 2 Student 3.. Student m Abbildun 3: n zu m Relation hört Vorlesun 1 Student 1 Vorlesun 2 Vorlesun m Abbildun 4: 1 zu m Assoziation Deænition 2.5: Assoziation Eine Assoziation ist eine Verbindun von einer Klasse bzw. einem Objekt zu einer anderen Klasse bzw. einem anderen Objekt. Insbesondere kann eine Assoziation von n Objekten einer Klasse auf m Objekte einer anderen Klasse erichtet sein. Nun wissen wir was wir neben der Vererbunsbeziehun noch brauchen und es stellt sich die Frae, wie wir es darstellen wollen. Wir kíonnen Assoziationen als Eienschaften und Methoden darstellen. æ Wenn enau ein Objekt èz.b. meine Lampeè mit enau einem anderen Objekt èz.b. dem Lichtschalter in meinem Arbeitszimmerè assoziiert wird, so wird dies andere Objekt zur Eienschaft des ersten Objektes èz.b. wird der Lichtschalter eine Eienschaft der Lampeè. Student hört Pro. Vorlesun Abbildun 5: Qualiæzierte Assoziation

14 10 æ Wenn enau ein Objekt èz.b. eine Studentinè mit mehreren anderen Objekten èz.b. Vorlesunenè assoziiert ist, kíonnen diese vielleicht qualiæziert werden èz.b. Vorlesunen zur Mathematik, zur Prorammierunè, so daç die Assoziation zusammen mit der Qualiækation eindeuti wird èz.b. wird Vorlesun zur Prorammierun eine Eienschaft der Studentinè. Dies illustriert Abbildun 5. æ Wenn aber notwendierweise eine Assoziation auf mehrere andere Objekte einer Klasse erichtet ist, so míussen wir ein Objekt einfíuhren, das eine Kollektion darstellt. So kíonnen wir als Eienschaft bei jedem Mitarbeiter anfíuhren, wer fíur ihn zustíandi ist. Es macht aber keinen Sinn, die Assoziation von der Abteilunsleiterin zu allen Mitarbeitern zu qualiæzieren. Wir míuçten dann im Voraus wissen, wieviele Mitarbeiter eine Abteilunsleiterin hat, um Eienschaften der Art mitarbeiter1 anzueben. Stattdessen fíuhren wir fíur jede Abteilun ein kollektives Objekt ein, das die Mene der Mitarbeiter darstellt. Jeder einzelne Mitarbeiter bleibt ein Objekt, das mit dem kollektiven Objekt, dem Team, verbunden ist. Eine Abteilunsleiterin kann dann entweder ezielt von einem bestimmten Mitarbeiter oder von dem Team Botschaften empfanen. So wird ein Verbesserunsvorschla beispielsweise von einem bestimmten Mitarbeiter emacht. Zum Geburtsta schenkt das Team etwas. Das Team ist ein Objekt einer Behíalterklasse. Deænition 2.6: Assoziation, Darstellun Assoziationen werden als Eienschaft bei der Klasse bzw. den Objekten aneeben. Bei 1 : m-assoziationen mit mé1 wird entweder eine Qualiækation vorenommen, oder es wird ein zusammenesetztes Objekt bzw. eine Klasse von zusammenesetzten Objekten einefíuhrt. Eine solche Klasse, die eine Mene von Objekten ansammeln und verwalten kann, heiçt auch Behíalterklasse. Deænition 2.7: Behíalterklasse Eine Behíalterklasse besteht aus Objekten, die Menen èund nicht Elemente von Menenè sind. Bisher waren bei Klassen nur Eienschaften aneeben, die fíur jedes Objekt der Klasse elten. Wenn bei der Klasse der Bíalle aneeben ist, daç sie kuelfíormi sind, so hat auch jedes Objekt der Klasse die Kuelform. Dies ist das rundsíatzliche Prinzip. Wenn wir aber die Anzahl von Objekten einer Klasse zíahlen wollen, so ist diese Anzahl eine Eienschaft der Klasse. Wir kíonnten natíurlich zusíatzlich zu der einer normalen Klasse K eine Behíalterklasse AlleK einfíuhren, deren einzies Objekt alle Objekte von K enthíalt. Einfacher ist die Einfíuhrun von Klasseneienschaften. Eine Klasseneienschaft ist eine Eienschaft der Klasse. Sie ilt fíur die Mene ihrer Objekte, nicht fíur jedes einzelne Objekt der Klasse. Alle Objekte der Klasse kíonnen sich die Klasseneienschaft ansehen und veríandern. Beispiel 2.1: Klasseneienschaft Ein Flubuchunssystem hat eine Klasse Buchun, in der der Kunde, sein Abæuort, sein Zielæuort und die Route dahin, die Flulinie etc. zusammenefíuhrt werden. Die Buchunsstelle míochte wissen, wieviele Buchunen sie vorenommen hat. Dafíur soll nicht eiens die Behíalterklasse AlleBuchunen einefíuhrt werden, denn wir wollen ja nur die Anzahl der Objekte der Klasse Buchun wissen. Also wird stattdessen die Klasseneienschaft buchunsanzahl in Buchun einefíuhrt.

15 11 Wird eine Buchun durchefíuhrt, also ein neues Objekt der Klasse Buchun erzeut èinstanziierunè, dann frat das neue Objekt den aktuellen Wert ab und erhíoht ihn um Modellierun Bei der objektorientierten Modellierun íuberleen wir zuerst, was die Objekte sein sollen. Wie enau míussen wir modellieren? Wie werden die Objekte klassiæziert? Wer ist wofíur zustíandi? Wer kooperiert mit wem? Diaramme fíur diesen Entwurfsschritt sind Klassenkarten bzw. Klasse-Zustíandikeit-Kooperation-Karten. Es ist ein rober Entwurf, der im weiteren verfeinert wird. Welche Merkmale besitzt eine Klasse? Welche Botschaften kíonnen ihre Objekte behandeln? Welche Beziehunen bestehen zwischen Objekten einer Klasse? Diaramme fíur diesen Entwurfsschritt heiçen Klassendiaramme oder Objektmodelle. Welche Botschaften werden versendet und behandelt? Wer kooperiert mit wem? Im Kollaborationsdiaramm bzw. funktionalen Modell werden die Kooperationen mit ihren Botschaften notiert. Wie veríandern Botschaften den Zustand von Objekten? Dies wird im Zustandsdiaramm bzw. dem dynamischen Modell aufeschrieben. Hier werden die einzelnen Entwurfsschritte anhand des Beispiels von ëgoos, 1996ë ès. 151æè in der Uniæed Modelin Lanuae von Grady Booch, James Rumbauh und Ivar Jacobson ëoestereich, 1997ë illustriert. Das Beispiel handelt von einem Studenten, der bei einem Rechnerhíandler per Brief einen Rechner bestellt. Dieser wird ihm von der Post als Paket zuestellt. Die Klassenkarte stellt die beteiliten Klassen èhier: Studenten, Rechnerhíandler und Zustellerè mit ihren Zustíandikeiten und Kooperationen dar ès. Abbildun 6è. Das Diaramm von Abbildun 6 ist eientlich nicht zutreæend: bezíulich des Rechnerkaufs ist der Student einfach ein Kunde. Es eht uns nicht darum, ein bestimmtes Individuum zu modellieren, sondern eine Rolle, die es in einem Zusammenhan spielt. Daher nennen wir die Klasse mit den Zustíandikeiten bestellen, Paket annehmen besser Kunde. Daç der Brief und das Paket selbst fehlen, ist beríundet: sie haben weder Zustíandikeiten, noch kooperieren sie mit einem der Beteiliten. Nachdem wir nun wissen, welche Klassen es ibt, míussen wir ihre Botschaften, Handlunen und Merkmale íuberleen. Wir notieren dies im Klassendiaramm, Abbildun 7. Die Abbildun zeit, wer an wen Botschaften schickt und welche Eienschaften er haben soll und welche Methoden er beherrscht. In der Klassenkarte hatten wir nur den Kunden èstudentenè, den Rechnerhíandler und den Zusteller. Alle diese míussen mit Adressen umehen. Damit wir nicht bei jeder Klasse Methoden zum Verarbeiten von Adressen aneben míussen, leen wir die neue Klasse Anschrift fest, die Zeichenfolen èstrinè als Absender und Empfíaner interpretieren kann. Und weil wir sie nun schon als eiene Klasse haben, verallemeinern wir sie so, daç auch die Beschriftun des Pakets und des Bestellbriefes die èhier nicht aufefíuhrtenè Methoden des Príufens einer Adresse und eines Namens nutzen kann. Wir sehen also, daç Klassen eientlich durch Methoden einefíuhrt werden: alles, was eine bestimmte Tíatikeit ausfíuhren kann, ist eine Klasse. Dies entspricht dem Klassenberiæ und ist obendrein praktisch: æ Verwendun einer Modellierun eines Vorans an vielen Stellen statt mehrfacher Modellierun desselben èstichwort: Wiederverwendun von Prorammteilenè;

16 12 Student Rechnerhändler bestellen Rechnerhändler Zusteller Bestellun annehmen Paket absenden Student Zusteller Paket annehmen Zusteller Paket annehmen Paket abeben Rechnerhändler Student Abbildun 6: Klassenkarte æ bei Veríanderun des Vorans braucht die Modellierun èdas Prorammè nur an einer Stelle eíandert zu werden und wirkt sich doch auf viele Stellen einheitlich aus. Denken Sie daran, wieviele Klassen bei der Einfíuhrun der neuen Postleitzahlen híatten eíandert werden míussen, wenn wir nicht die Klasse Anschrift einefíuhrt híatten! Die Verbindunen zwischen den Klassen sind als Assoziationen aneeben, allerdins noch nicht níaher beschrieben. Wir íuberleen, was die Pfeile des Klassendiaramms eientlich enau bedeuten sollen. Insbesondere beachten wir, welche unterschiedlichen Benutzer spíater mit der Software arbeiten werden und wie sich das auf die Modellierun auswirkt. Dies fíuhrt uns zum níachsten Diaramm. Das Kollaborationsdiaramm beschriftet die Kanten des Klassendiaramms. Es beschreibt enauer, was zwischen den Objekten kooperierender Klassen èkunde, Zusteller, Rechnerhíandlerè ausetauscht werden kann èabbildun 8è. Wir haben bisher nur betrachtet, was ausetauscht und behandelt wird. Nun wollen wir die Kollaborationen als Ereinisse betrachten, die den Zustand der Welt veríandern. Fíur jede Klasse zeichnen wir einen endlichen Automaten. Ein endlicher Automat hat eine Mene von Zustíanden, darunter einen ausezeichneten Anfanszustand sowie Endzustíande, eine Mene von Kanten, die Zustandsíuberíane bezeichnen. Die Kanten sind also erichtet, sie fíuhren von einem Zustand in einen anderen. Handlunen sind typische Beispiele fíur Zustandsíuberíane. Wenn in einem Zustand eine bestimmte Handlun ausefíuhrt wird oder eine bestimmte Einabe empfanen wird, dann elant man in den Folezustand. Dies muç nicht so einfach hintereinander eschehen wie es das Zustandsdiaramm zu unserem Beispiel zeit èabbildun 9è. Eine Handlun oder Einabe kann auch von einem Zustand in denselben íuberfíuhren. Vom selben Zustand aus kíonnen durch unterschiedliche Handlunen èoder Einabenè unterschiedliche Folezustíande erreicht werden.

17 13 Anschrift Name : STRING Adresse : STRING Empfäner Absender Paket Anschrift Besteller Bestellun Kunde annehmen(paket) Rechnerhändler annehmen(bestellun) Zusteller Name : STRING annehmen(paket) Abbildun 7: Klassendiaramm Kunde abeben(paket) Zusteller bestellen(bestellun) Rechnerhändler versenden(anschrift,paket) Abbildun 8: Kollaborationsdiaramm

18 14 Kunde Rechnerhändler Zusteller nichts bestellt bestellen keine Bestellun Bestellun annehmen kein Auftra Paket annehmen Bestellun aufeeben Bestellun anenommen Paket anenommen Paket Paket Paket annehmen absenden abeben Rechner erhalten Bestellun erledit Paket auseliefert Abbildun 9: Zustandsdiaramm

19 15 Kunde Rechnerhändler Zusteller bestellen Paket absenden Paket abeben Abbildun 10: Sequenzdiaramm Mit dem Zustandsdiaramm ist noch nichts íuber die zeitliche Abfole von Handlunen zwischen Klassen ausesat, sondern nur fíur jede einzelne Klasse eine Abfole aneeben. Das Sequenzdiaramm zeit die Abfole von Handlunen im Zusammenhan fíur alle beteiliten Klassen ès. Abbildun 10è. Dabei sehen wir, daç der Kunde den Rechnerhíandler aktiviert, der wiederum den Zusteller aktiviert. Der Kunde wartet einfach bis das Paket ankommt. Man nennt dies Aufruf mit Warten auf Erlediun. Erkundit er sich, wo der Rechner denn bleibt, so nennt man dies Aufruf mit spíaterer Anfrae. Auçerdem ibt es den Aufruf mit aktiver Ríueckmeldun. Beispielsweise kann der Kunde dem Zusteller den Empfan bescheinien. Die Ríuckmeldun muç also nicht an denselben ehen, dem der Auftra erteilt wurde. In der Abbildun 10 werden die Auftríae mit ausefíullten Pfeilspitzen, die Ríuckmeldunen mit einfachen Pfeilspitzen ekennzeichnet. Der Kunde meldet an den Zusteller zuríuck, der wiederum an den Rechnerhíandler zuríuckmeldet. 2.3 Was wissen Sie jetzt? Sie sollten jetzt wissen, was eine Klasse und was ein Objekt ist. Sie sollten die Vererbunshierarchie als vertikale Beziehun und Assoziationen als horizontale Beziehun kennen.

20 16 Wie diese Beriæe einesetzt werden, um einen Sachbereich zu modellieren, haben Sie anhand von Modellen, die unterschiedliche Aspekte betonen, sowie deren raæscher Darstellun esehen. Gehen Sie alle Deænitionen noch einmal durch. Besprechen Sie Behíalterklassen und Klasseneienschaften mit Ihren KommilitonInnen. Nehmen Sie sich irendeinen Ausschnitt Ihres Alltas und versuchen Sie, ihn objektorientiert zu modellieren. Zeichnen Sie mindestens eine Klassenkarte und ein Klassendiaramm dazu! 3 Einfíuhrun in JAVA - erste Schritte JAVA ist eine Prorammiersprache mit den folenden Eienschaften: objektorientiert, das bedeutet hier 2 : æ beim Prorammieren werden insbesondere Daten und diese Daten veríandernde Methoden beachtet; æ auçer primitiven Datentyen sind alle Dine in JAVA Klassen und Objekte; æ eine Klasse ist die kleinste ablauæíahie Einheit in JAVA; æ alle JAVA-Proramme sind Klassen. plattformunabhíani, das bedeutet, die Sprache kann auf allen Rechnern und Betriebssystemen ausefíuhrt werden, weil sie in eine virtuelle Maschine íubersetzt, fíur die die Plattformen eine Schnittstelle bereitstellen; klares Typ-Konzept, s. z.b. Abschnitt 3.2; verteilt, das bedeutet hier die interierte Netzwerkunterstíutzun und das Laden und Ausfíuhren von Prorammen íuber das Internet ès. Abschnitt 9è; nebenlíauæ, das heiçt leichzeitie Bearbeitun mehrerer Aufaben, wobei Prioritíaten esetzt werden kíonnen ès. Abschnitt 8è. Plattformunabíanikeit und verteiltes Arbeiten kíonnen durch das Schaubild 11 illustriert werden. Ein bestimmter Rechner mit einer Benutzerschnittstelle erlaubt es Ihnen, einen Editor aufzurufen, in dem Sie ein JAVA-Proramm schreiben 3. Sie rufen nun den JAVA-íUbersetzer auf mit dem Namen Ihres Proramms und der íubersetzer zeit Ihnen an, wo Sie die Syntax von JAVA nicht befolt haben ès. Abschnitt 3.1è. javac Prorammbezeichner.java Sie íandern Ihr Proramm und dann rufen Sie den íubersetzer wieder auf. Dies eht solane, bis das Proramm syntaktisch korrekt ist. Dann wird es in den Bytecode von JA- VAs virtueller Maschine èund eben nicht in den Maschinencode Ihres Rechnersè íubersetzt. Dieser Code kann auch von Ihrem Rechner verstanden werden. Sie rufen Ihr Proramm auf mit 2 Der Gedanke der Objektorientierun wurde in den 70er Jahren am Xerox Palo Alto Research Center entwickelt. Adele Goldber entwickelte mit einien Kolleen die Prorammiersprache Smalltalk, die dieser Form der Prorammierun Popularitíat verschaæte. Heute arbeitet sie an Werkzeuen, die Teamarbeit unterstíutzen. Sie wurde von der Universitíat Dortmund mit der Ehrendoktorwíurde eehrt. 3 Genauere Hinweise zum íubersetzen und Aufrufen von Prorammen oder Applets ænden Sie im Anhan.

21 17 Maschine X Benutzerschnittstelle für X JAVA virtuelle Maschine für X JAVA Applet JAVA Proramm Maschine Y Benutzerschnittstelle für Y JAVA virtuelle Maschine für Y Abbildun 11: Architektur java Prorammbezeichner und erhalten ein Erebnis. Dies kann noch von dem abweichen, was Sie eientlich mit dem Proramm wollten. Man spricht dann von loischen Fehlern. So sieht der Prozeç aus, wenn Sie das Betriebssystem bzw. eine Fensterumebun fíur das íubersetzen und Ausfíuhren von JAVA-Prorammen verwenden. Sie kíonnen aber auch Anwendunen, die andere prorammiert haben, bei sich ablaufen lassen. Diese kleinen Anwendunen, enannt applets, bleiben als Proramm èquellcodeè auf dem Rechner, auf dem sie bereitestellt werden. Ein applet wird nicht auf den eienen Rechner kopiert, sondern nur der Bytecode fíur JAVAs virtuelle Maschine wird von dem Entwicklunsrechner zu Ihrem Rechner eschickt. Der Bytecode verbleibt dort. Als Benutzerschnittstelle verwenden Sie dann Ihren Browser 4. Einie níutzliche Informationen kann man im World Wide Web èwwwè unter oder ænden. Auch die anefíuhrten JAVA-Bíucher sind im WWW príasent. Literatur ændet man íuber den aneeben Bereich java.sun.comèbooks oder auch bei den Verlaen. Die meisten Dokumente brauchen Sie nicht aus den USA zu holen. Wir haben z.b. die Sprachdokumentation lokal im WWW abelet unter file:èappèunido-infèsun4 55èjdkè1.2b4èdocsèindex.html 4 Ein Browser ist ein Proramm, das Dokumente im Format html anzeien und Klicks auf markierte Zeichenketten auswerten kann. Ist die markierte Zeichenkette eine Verbindun zu einem anderen Dokument èeiner anderen Seiteè, so wird der Klick als Sprunbefehl zu dieser Seite behandelt.

22 Syntax fíur Klassen Jede Sprache hat eine Syntax. Sie ibt an, in welcher Reihenfole was fíur Zeichenfolen vorkommen díurfen. Dabei wird zweistuæ voreanen: Lexikalische Ebene: Zuníachst wird deæniert, wie aus einzelnen Zeichen Wíorter zusammenesetzt werden díurfen. Syntaktische Ebene: Dann wird deæniert, wie aus den Wíortern Síatze zusammenesetzt werden díurfen. Die Syntax wird beschrieben durch eine Grammatik. Die Grammatik kann fíur die Analyse oder Generierun von Zeichenfolen èwíortern oder Síatzenè verwendet werden. Bei der Analyse werden eebene Zeichenfolen, bestehend aus terminalen Symbolen, auf ihre Wohleformtheit bezíulich der Grammatik hin untersucht. Bei der Generierun werden Folen von terminalen Symbolen erzeut. Auf lexikalischer Ebene sind die terminalen Symbole die Zeichen, auf syntaktischer Ebene sind es die Wíorter. Deænition 3.1: Grammatik æ einem Startsymbol S, Eine Grammatik besteht aus æ einem Alphabet A, das aus einer Mene von terminalen Symbolen T und einer Mene von nicht-terminalen Symbolen N besteht, æ einer Mene von Produktionen. Eine Produktion besteht aus einer linken und einer rechten Seite. Bei kontextfreien Grammatiken steht auf der linken Seite nur ein nicht-terminales Symbol. Auf der rechten Seite stehen mehrere Symbole aus A 5. Bei der Generierun wird das Symbol auf der linken Seite durch die Fole von Symbolen auf der rechten Seite ersetzt. Beinnend mit dem Startsymbol werden nun die Produktionen anewandt und die nicht-terminalen Symbole durch andere Symbole ersetzt. Terminale Symbole werden natíurlich nicht ersetzt. Ein einfaches Beispiel: S : Kopf Rumpf Kopf : Uta Rumpf : spielt Ball Rumpf : tritt den Ball Hier sind S; Kopf; Rumpf nicht-terminale Symbole, Uta, spielt, tritt, Ball und den sind terminale Symbole. Wir enerieren mit der Grammatik: S wird zu Kopf Rumpf, Kopf Rumpf wird zu Uta Rumpf, Uta Rumpf wird zu Uta spielt Ball oder zu Uta tritt den Ball. 5 Bei kontextsensitiven Grammatiken wird wenier als bei kontextfreien Grammatiken efordert. Die linke Seite muç nur kíurzer sein als die rechte. Damit kann man mehr und komplexere Sprachen beschreiben. Bei reulíaren Grammatiken wird mehr als bei kontextfreien Grammatiken efordert. Die linke Seite ist ein nicht-terminales Symbol und die rechte Seite beinnt mit enau einem nicht-terminalen Symbol, dem terminale Symbole folen díurfen. Damit kann man wenier und einfachere Sprachen beschreiben.

23 19 Mit der Grammatik kann man also zwei Síatze enerieren: Uta spielt Ball und Uta tritt den Ball. Bei der Analyse príufen wir, ob ein Satz wohleformt ist. Haben wir den Satz Uta tritt den Ball, ersetzen wir Symbole der rechten Seite einer Produktion durch ihre linke Seite. Kopf tritt den Ball Kopf Rumpf S Nur, wenn wir durch umekehrte Ersetzunen zu S elanen kíonnen, ist der Satz wohleformt. Diese Príufun nimmt der íubersetzer vor. Der Satz Uta spielt mit dem Ball ist bei der eebenen Grammatik nicht wohleformt, weil spielt mit dem Ball auf keiner rechten Seite einer Produktion vorkommt und deshalb Kopf spielt mit dem Ball nicht zu Kopf Rumpf werden kann, was zu S fíuhren wíurde. Oft wird abkíurzend fíur die Produktionen S : ABC S : B C S : DE F einfach eschrieben: S : A opt B C D E F Hiermit erhíalt der Zeilenumbruch eine Bedeutun, níamlich die der alternativen Ersetzun. Wenn nun aber die rechte Seite zu lan wird, so daç ein Zeilenumbruch ohne diese Bedeutun erfolen soll, so wird rechtsbíundi eineríuckt. Da JAVA vor allem Klassen behandelt, soll hier ein Ausschnitt der Grammatik fíur Klassen aneeben werden ètabelle 1è. Das wichtie an einer Prorammiersprache ist nicht die Anordnun von Schlíusselwíortern und nicht-terminalen Symbolen, sondern was sie bedeuten. Die Syntax einer Prorammiersprache ist erade so estaltet, daç alle Folen von terminalen Symbolen, die einem nicht-terminalen Symbol entsprechen, eine emeinsame Bedeutun haben. Nicht-terminale Symbole und Schlíusselwíorter haben eine eindeutie Bedeutun. Die Semantik einer Prorammiersprache fíuhrt die Bedeutun von Prorammen in der Sprache auf die Bedeutun der Schlíusselwíorter und nicht-terminalen Symbole, die Prorammteilen entsprechen, zuríuck bzw. setzt aus der Bedeutun der einzelnen Teile die Bedeutun des Proramms zusammen. Dabei ist die Bedeutun eines Proramms stets operational, d.h. sie entspricht Operationen, die auch tatsíachlich ausefíuhrt werden. Ich beschreibe die Bedeutun hier umanssprachlich und illustriere sie durch JAVA-Proramme. Der Modiækator èmodifierè kann public, abstract oder ænal sein 6. Abstrakte Klassen werden in Abschnitt 3.7 behandelt. ænal bedeutet, daç die Klasse keine Unterklassen besitzen darf. public bedeutet, daç die Klasse von íuberall aus verwendet werden kann ès. Abschnitt 3.8è. 6 Leider ist es mir nicht elunen, die Formatierun der Grammatik mit denselben Buchstabenarten zu realisieren, die im Text verwendet werden. Dort wird Klasse, Methode und Schlíusselwort so esetzt wie in diesem Satz. Die nicht-terminalen Symbole und Variablen sehen so aus.

24 20 ClassDeclaration : Modifiers opt class Identifier Super opt Interfaces opt ClassBody Super : extends ClassT ype Interf aces : implements Interf acet ypelist Interf acet ypelist : Interf acet ype Interf acet ypelist, Interf acet ype ClassBody : f ClassBodyDeclarations opt ClassBodyDeclarations : ClassBodyDeclaration ClassBodyDeclarations ClassBodyDeclaration ClassBodyDeclaration : ClassM emberdeclaration StaticInitializer ConstructorDeclaration ClassM emberdeclaration : F ielddeclaration M ethoddeclaration StaticInitializer : static Block Tabelle 1: Klassendeklaration Das Schlíusselwort class zeit an, daç es sich um ein Klasse handelt. Der Name èidentiæerè der Klasse wird einefíuhrt, damit man sich auf die Klasse beziehen kann. Der Name einer Klasse beinnt stets mit einem Groçbuchstaben. Durch extends ClassT ype wird die Oberklasse aneeben, von der diese Klasse erbt. Schnittstellen èinterfacesè lernen wir spíater kennen èabschnitt 3.7è. Nach diesen Príaliminarien folt das Wichtiste einer Klasse í der Klassenrumpf èclassbodyè. Dies ist ein Block. Ein Block beinnt mit eschweifter Klammer und endet mit eschweifter Klammer. Meistens werden hier Methoden deæniert. Dazu werden zuníachst die Variablen deklariert und dann die Methode selbst. Beispiel 3.1: In der Einleitun war von Utas blauem Ball die Rede. Daç er Uta ehíort, soll bei Uta vermerkt werden. Allerdins kíonnen wir eine Klasse Besitz deænieren und Bíalle sind eine Unterklasse davon. Auçerdem haben Bíalle immer eine Farbe. Ihre Methode besteht darin, einen Tritt in eine Ortsveríanderun umzusetzen. Wir notieren den Tritt als zwei Zahlen im Koordinatensystem, die aneben, um wieviel der Ball sich auf der x- und um wieviel er sich auf der y-achse verschieben soll.

25 21 Die Methoden erlíautern wir spíater èabschnitt 3.4è. Hier erst einmal der íuberblick íuber die Klasse Ball. Wir zeien, daç die Klasse Ball emíaç der Grammatik ètabelle 1è wohleformt ist. class Ball extends Besitz f æoat x,y; Strin farbe; èèclass Identiæer extends ClassType èè ClassBody Beinn èè FieldDeclaration èè FieldDeclaration public Ball èstrin name,strin farbe, æoat x, æoat yè f super è nameè; farbe = farbe; x= x; y= y; public void rolle èæoat dx,æoat dyè f x+=dx;y+=dy; èè MethodDeclaration èè MethodDeclaration èè ClassBody Ende Der íubersetzer von JAVA fertit zu der Klasse Ball einen Syntaxbaum an. Der Syntaxbaum zeit, welche Ersetzunen von den terminalen Zeichen des Proramms zu den nicht-terminalen Zeichen der Klassendeklaration bis hin zu ClassDeclaration fíuhren. Ein èunvollstíandierè Syntaxbaum ist in Abbildun 12 darestellt. Wir sehen in diesem Beispiel die JAVA-Darstellun fíur æ die Vererbunshierarchie durch extends, æ ihre Ausnutzun durch super, æ eine Eienschaft, die jedes Objekt der Klasse hat durch farbe, æ eine Methode, wie Objekte einer Klasse erzeut werden èkonstruktorè durch Ball, æ eine Methode, die eine Botschaft von auçen bearbeitet, durch rolle Wie ein neues Objekt fíur eine Klasse anelet wird, beschreibt die Methode Konstruktor èconstructorè. Die Syntax zeit Tabelle 2. Ein Konstruktor heiçt stets wie die Klasse, zu der er ein Objekt anlet. Der Konstruktor der Klasse Ball heiçt also Ball. Er hat eine Liste von Arumenten in Klammern èformalparameterlistè. Es folt ein Block, der fíur ein neues Objekt bei der Erzeuun ausefíuhrt wird. Das erste darin ist der Aufruf des Konstruktors der Oberklasse durch super è nameè. Da jedes Din einen Namen hat, sort der Konstruktor von Besitz dafíur, daç ein Name vereben wird. Die Farbe, beschrieben durch irendeine Kette von Buchstaben èstrinè, und die Position, beschrieben durch x- und y-koordinaten, sind hineen Eienschaften des Balls und nicht jedes Geenstandes.

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

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

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

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

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

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

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

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Das Leitbild vom Verein WIR

Das Leitbild vom Verein WIR Das Leitbild vom Verein WIR Dieses Zeichen ist ein Gütesiegel. Texte mit diesem Gütesiegel sind leicht verständlich. Leicht Lesen gibt es in drei Stufen. B1: leicht verständlich A2: noch leichter verständlich

Mehr

TeamSpeak3 Einrichten

TeamSpeak3 Einrichten TeamSpeak3 Einrichten Version 1.0.3 24. April 2012 StreamPlus UG Es ist untersagt dieses Dokument ohne eine schriftliche Genehmigung der StreamPlus UG vollständig oder auszugsweise zu reproduzieren, vervielfältigen

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

DIE SOZIALVERSICHERUNG

DIE SOZIALVERSICHERUNG SBK-Schulunsmappe zum Thema Sozialversicherun EINLEITUNG So können Sie sicher starten Ein neuer Lebensabschnitt hat für Sie beonnen: die berufliche Ausbildun. Wie fühlen Sie sich? Sicher super endlich

Mehr

Zahlen auf einen Blick

Zahlen auf einen Blick Zahlen auf einen Blick Nicht ohne Grund heißt es: Ein Bild sagt mehr als 1000 Worte. Die meisten Menschen nehmen Informationen schneller auf und behalten diese eher, wenn sie als Schaubild dargeboten werden.

Mehr

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software Wie erzeugt man ein Fotobuch im Internet bei Schlecker Seite Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software Punkt 12 bis 24: -Wir arbeiten mit der Software 8-16 -Erstellung

Mehr

Animationen erstellen

Animationen erstellen Animationen erstellen Unter Animation wird hier das Erscheinen oder Bewegen von Objekten Texten und Bildern verstanden Dazu wird zunächst eine neue Folie erstellt : Einfügen/ Neue Folie... Das Layout Aufzählung

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

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

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt. Gentlemen", bitte zur Kasse! Ravensburger Spiele Nr. 01 264 0 Autoren: Wolfgang Kramer und Jürgen P. K. Grunau Grafik: Erhard Dietl Ein Gaunerspiel für 3-6 Gentlemen" ab 10 Jahren Inhalt: 35 Tresor-Karten

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

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Geld Verdienen im Internet leicht gemacht

Geld Verdienen im Internet leicht gemacht Geld Verdienen im Internet leicht gemacht Hallo, Sie haben sich dieses E-book wahrscheinlich herunter geladen, weil Sie gerne lernen würden wie sie im Internet Geld verdienen können, oder? Denn genau das

Mehr

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Inhalt 1. Die Funambol Software... 3 2. Download und Installation... 3 3.

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

AutoTexte und AutoKorrektur unter Outlook verwenden

AutoTexte und AutoKorrektur unter Outlook verwenden AutoTexte und AutoKorrektur unter Outlook verwenden Die Hilfsmittel "AutoKorrektur" und "AutoTexte", die schon unter Microsoft Word das Arbeiten erleichtern, sind natürlich auch unter Outlook verfügbar.

Mehr

Das Persönliche Budget in verständlicher Sprache

Das Persönliche Budget in verständlicher Sprache Das Persönliche Budget in verständlicher Sprache Das Persönliche Budget mehr Selbstbestimmung, mehr Selbstständigkeit, mehr Selbstbewusstsein! Dieser Text soll den behinderten Menschen in Westfalen-Lippe,

Mehr

Fotostammtisch-Schaumburg

Fotostammtisch-Schaumburg Der Anfang zur Benutzung der Web Seite! Alles ums Anmelden und Registrieren 1. Startseite 2. Registrieren 2.1 Registrieren als Mitglied unser Stammtischseite Wie im Bild markiert jetzt auf das Rote Register

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation

Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation Einführung Mit welchen Erwartungen gehen Jugendliche eigentlich in ihre Ausbildung? Wir haben zu dieser Frage einmal die Meinungen von Auszubildenden

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

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

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Serienbrief aus Outlook heraus Schritt 1 Zuerst sollten Sie die Kontakte einblenden, damit Ihnen der Seriendruck zur Verfügung steht. Schritt 2 Danach wählen Sie bitte Gerhard Grünholz 1 Schritt 3 Es öffnet

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

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Hinweise zum Übungsblatt Formatierung von Text:

Hinweise zum Übungsblatt Formatierung von Text: Hinweise zum Übungsblatt Formatierung von Text: Zu den Aufgaben 1 und 2: Als erstes markieren wir den Text den wir verändern wollen. Dazu benutzen wir die linke Maustaste. Wir positionieren den Mauszeiger

Mehr

Produktionsplanung und steuerung (SS 2011)

Produktionsplanung und steuerung (SS 2011) Produktionsplanung und steuerung (SS 2011) Teil 1 Sie arbeiten seit 6 Monaten als Wirtschaftsingenieur in einem mittelständischen Unternehmen in Mittelhessen. Das Unternehmen Möbel-Meier liefert die Büroaustattung

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.) Seite 1/7 Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.) Hier sehen Sie eine Anleitung wie man einen Serienbrief erstellt. Die Anleitung

Mehr

Wie Sie mit Mastern arbeiten

Wie Sie mit Mastern arbeiten Wie Sie mit Mastern arbeiten Was ist ein Master? Einer der großen Vorteile von EDV besteht darin, dass Ihnen der Rechner Arbeit abnimmt. Diesen Vorteil sollten sie nutzen, wo immer es geht. In PowerPoint

Mehr

IT-Basics 2. DI Gerhard Fließ

IT-Basics 2. DI Gerhard Fließ IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte

Mehr

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut Von Susanne Göbel und Josef Ströbl Die Ideen der Persönlichen Zukunftsplanung stammen aus Nordamerika. Dort werden Zukunftsplanungen schon

Mehr

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11 Kurzanleitung MEYTON Aufbau einer Internetverbindung 1 Von 11 Inhaltsverzeichnis Installation eines Internetzugangs...3 Ist mein Router bereits im MEYTON Netzwerk?...3 Start des YAST Programms...4 Auswahl

Mehr

Kreativ visualisieren

Kreativ visualisieren Kreativ visualisieren Haben Sie schon einmal etwas von sogenannten»sich selbst erfüllenden Prophezeiungen«gehört? Damit ist gemeint, dass ein Ereignis mit hoher Wahrscheinlichkeit eintritt, wenn wir uns

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

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

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach - Projekt Personalverwaltung Erstellt von Inhaltsverzeichnis 1Planung...3 1.1Datenbankstruktur...3 1.2Klassenkonzept...4 2Realisierung...5 2.1Verwendete Techniken...5 2.2Vorgehensweise...5 2.3Probleme...6

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003 Nicht kopieren Der neue Report von: Stefan Ploberger 1. Ausgabe 2003 Herausgeber: Verlag Ploberger & Partner 2003 by: Stefan Ploberger Verlag Ploberger & Partner, Postfach 11 46, D-82065 Baierbrunn Tel.

Mehr

Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen

Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen Dateiname: ecdl6_05_01_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 6 Präsentation - Diagramm

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

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

Menü auf zwei Module verteilt (Joomla 3.4.0)

Menü auf zwei Module verteilt (Joomla 3.4.0) Menü auf zwei Module verteilt (Joomla 3.4.0) Oft wird bei Joomla das Menü in einem Modul dargestellt, wenn Sie aber z.b. ein horizontales Hauptmenü mit einem vertikalen Untermenü machen möchten, dann finden

Mehr

Eigene Dokumente, Fotos, Bilder etc. sichern

Eigene Dokumente, Fotos, Bilder etc. sichern Eigene Dokumente, Fotos, Bilder etc. sichern Solange alles am PC rund läuft, macht man sich keine Gedanken darüber, dass bei einem Computer auch mal ein technischer Defekt auftreten könnte. Aber Grundsätzliches

Mehr

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE!

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE! 9 TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE! An den SeniorNETclub 50+ Währinger Str. 57/7 1090 Wien Und zwar gleich in doppelter Hinsicht:!"Beantworten Sie die folgenden Fragen und vertiefen Sie damit Ihr

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

Der Kalender im ipad

Der Kalender im ipad Der Kalender im ipad Wir haben im ipad, dem ipod Touch und dem iphone, sowie auf dem PC in der Cloud einen Kalender. Die App ist voreingestellt, man braucht sie nicht laden. So macht es das ipad leicht,

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Gegenüber PowerPoint 2003 hat sich in PowerPoint 2007 gerade im Bereich der Master einiges geändert. Auf Handzettelmaster und Notizenmaster gehe ich in diesen Ausführungen nicht ein, die sind recht einfach

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

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

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

Mehr

Satzhilfen Publisher Seite Einrichten

Satzhilfen Publisher Seite Einrichten Satzhilfen Publisher Seite Einrichten Es gibt verschiedene Möglichkeiten die Seite einzurichten, wir fangen mit der normalen Version an, Seite einrichten auf Format A5 Wählen Sie zunächst Datei Seite einrichten,

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

Kennen, können, beherrschen lernen was gebraucht wird www.doelle-web.de

Kennen, können, beherrschen lernen was gebraucht wird www.doelle-web.de Inhaltsverzeichnis Inhaltsverzeichnis... 1 Grundlagen... 2 Hyperlinks innerhalb einer Datei... 2 Verweisziel definieren... 2 Einen Querverweis setzen... 3 Verschiedene Arten von Hyperlinks... 3 Einfache

Mehr

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

ONLINE-AKADEMIE. Diplomierter NLP Anwender für Schule und Unterricht Ziele ONLINE-AKADEMIE Ziele Wenn man von Menschen hört, die etwas Großartiges in ihrem Leben geleistet haben, erfahren wir oft, dass diese ihr Ziel über Jahre verfolgt haben oder diesen Wunsch schon bereits

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

Regelwerk der "Electronical Infrastructure for Political Work"

Regelwerk der Electronical Infrastructure for Political Work Regelwerk der "Electronical Infrastructure for Political Work" Stand 01.06.11 Inhaltsverzeichnis 1.Inhalt...2 2.Codex...2 3.Arbeiten mit dem EIPW...2 3.1.Dokumente...2 3.2.Gestaltung der Arbeit...2 3.2.1.Einfachheit

Mehr

Mehr Geld verdienen! Lesen Sie... Peter von Karst. Ihre Leseprobe. der schlüssel zum leben. So gehen Sie konkret vor!

Mehr Geld verdienen! Lesen Sie... Peter von Karst. Ihre Leseprobe. der schlüssel zum leben. So gehen Sie konkret vor! Peter von Karst Mehr Geld verdienen! So gehen Sie konkret vor! Ihre Leseprobe Lesen Sie...... wie Sie mit wenigen, aber effektiven Schritten Ihre gesteckten Ziele erreichen.... wie Sie die richtigen Entscheidungen

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

Reporting Services und SharePoint 2010 Teil 1

Reporting Services und SharePoint 2010 Teil 1 Reporting Services und SharePoint 2010 Teil 1 Abstract Bei der Verwendung der Reporting Services in Zusammenhang mit SharePoint 2010 stellt sich immer wieder die Frage bei der Installation: Wo und Wie?

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

Leit-Bild. Elbe-Werkstätten GmbH und. PIER Service & Consulting GmbH. Mit Menschen erfolgreich

Leit-Bild. Elbe-Werkstätten GmbH und. PIER Service & Consulting GmbH. Mit Menschen erfolgreich Leit-Bild Elbe-Werkstätten GmbH und PIER Service & Consulting GmbH Mit Menschen erfolgreich Vorwort zu dem Leit-Bild Was ist ein Leit-Bild? Ein Leit-Bild sind wichtige Regeln. Nach diesen Regeln arbeiten

Mehr

Platinen mit dem HP CLJ 1600 direkt bedrucken ohne Tonertransferverfahren

Platinen mit dem HP CLJ 1600 direkt bedrucken ohne Tonertransferverfahren Platinen mit dem HP CLJ 1600 direkt bedrucken ohne Tonertransferverfahren Um die Platinen zu bedrucken, muß der Drucker als allererstes ein wenig zerlegt werden. Obere und seitliche Abdeckungen entfernen:

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

Dokumentation von Ük Modul 302

Dokumentation von Ük Modul 302 Dokumentation von Ük Modul 302 Von Nicolas Kull Seite 1/ Inhaltsverzeichnis Dokumentation von Ük Modul 302... 1 Inhaltsverzeichnis... 2 Abbildungsverzeichnis... 3 Typographie (Layout)... 4 Schrift... 4

Mehr

Qualität und Verlässlichkeit Das verstehen die Deutschen unter Geschäftsmoral!

Qualität und Verlässlichkeit Das verstehen die Deutschen unter Geschäftsmoral! Beitrag: 1:43 Minuten Anmoderationsvorschlag: Unseriöse Internetanbieter, falsch deklarierte Lebensmittel oder die jüngsten ADAC-Skandale. Solche Fälle mit einer doch eher fragwürdigen Geschäftsmoral gibt

Mehr

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel Sehr vielen Mitarbeitern fällt es schwer, Serienbriefe an Kunden zu verschicken, wenn sie die Serienbrieffunktion von Word nicht beherrschen. Wenn die Kunden mit Excel verwaltet werden, genügen nur ein

Mehr

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit Frau Dr. Eva Douma ist Organisations-Beraterin in Frankfurt am Main Das ist eine Zusammen-Fassung des Vortrages: Busines

Mehr

Wenn man nach Beendigung der WINDOWS-SICHERUNG folgendes angezeigt bekommt

Wenn man nach Beendigung der WINDOWS-SICHERUNG folgendes angezeigt bekommt 1. Für alle, die mit wenig zufrieden sind Wenn man nach Beendigung der WINDOWS-SICHERUNG folgendes angezeigt bekommt Bild 1 bekommt man erst mal einen Schreck. Die Meldung wurden nicht gesichert beunruhigt,

Mehr

Was ist Sozial-Raum-Orientierung?

Was ist Sozial-Raum-Orientierung? Was ist Sozial-Raum-Orientierung? Dr. Wolfgang Hinte Universität Duisburg-Essen Institut für Stadt-Entwicklung und Sozial-Raum-Orientierte Arbeit Das ist eine Zusammen-Fassung des Vortrages: Sozialräume

Mehr

FAQ Spielvorbereitung Startspieler: Wer ist Startspieler?

FAQ Spielvorbereitung Startspieler: Wer ist Startspieler? FAQ Spielvorbereitung Startspieler: Wer ist Startspieler? In der gedruckten Version der Spielregeln steht: der Startspieler ist der Spieler, dessen Arena unmittelbar links neben dem Kaiser steht [im Uhrzeigersinn].

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

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine PhotoLine S/W mit PhotoLine Erstellt mit Version 16.11 Ich liebe Schwarzweiß-Bilder und schaue mir neidisch die Meisterwerke an, die andere Fotografen zustande bringen. Schon lange versuche ich, auch so

Mehr

4.1 Wie bediene ich das Webportal?

4.1 Wie bediene ich das Webportal? 4.1 Wie bediene ich das Webportal? Die Bedienung ist durch ein Redaktionssystem sehr einfach möglich. Das Tutorial zeigt Ihnen wie Sie SMS-News und Top-News erstellen und veröffentlichen können. Schritt

Mehr

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. Der Serienversand Was kann man mit der Maske Serienversand machen? 1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. 2. Adressen auswählen,

Mehr

Leitfaden für den Zugriff auf die SEB-Webseite. Anmelden, Kennwort ändern, mit- arbeiten und gestalten ;-)

Leitfaden für den Zugriff auf die SEB-Webseite. Anmelden, Kennwort ändern, mit- arbeiten und gestalten ;-) Leitfaden für den Zugriff auf die SEB-Webseite Anmelden, Kennwort ändern, mit- arbeiten und gestalten ;-) 20. November 2012 Der Webauftritt des Schulelternbeirates der IGSLO Inhaltsverzeichnis Inhalt Inhaltsverzeichnis...

Mehr

Globale Tastenkombinationen für Windows

Globale Tastenkombinationen für Windows Globale Tastenkombinationen für Windows 1 Es gibt zahlreiche Tastenkombinationen, die ziemlich global funktionieren. Global bedeutet in diesem Zusammenhang, dass Sie solche Tastenkombinationen fast überall

Mehr

1. Einführung 2. 2. Erstellung einer Teillieferung 2. 3. Erstellung einer Teilrechnung 6

1. Einführung 2. 2. Erstellung einer Teillieferung 2. 3. Erstellung einer Teilrechnung 6 Inhalt 1. Einführung 2 2. Erstellung einer Teillieferung 2 3. Erstellung einer Teilrechnung 6 4. Erstellung einer Sammellieferung/ Mehrere Aufträge zu einem Lieferschein zusammenfassen 11 5. Besonderheiten

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

Fotogalerie mit PWGallery in Joomla (3.4.0) erstellen

Fotogalerie mit PWGallery in Joomla (3.4.0) erstellen Fotogalerie mit PWGallery in Joomla (3.4.0) erstellen Als ersten Schritt müssen wir alle Fotos die in die Galerie sollen hochladen. Wir gehen davon aus, dass das Plugin PWGallery bereits installiert und

Mehr

Anleitung zur Erstellung einer Gefährdungsbeurteilung

Anleitung zur Erstellung einer Gefährdungsbeurteilung Anleitung zur Erstellung einer Gefährdungsbeurteilung 1 Vorbereiten der Gefährdungsbeurteilung 1.1 Richten Sie mit Hilfe des Windows-Explorers (oder des Windows-Arbeitsplatzes) einen neuen Ordner ein,

Mehr

Erst Lesen dann Kaufen

Erst Lesen dann Kaufen Erst Lesen dann Kaufen ebook Das Geheimnis des Geld verdienens Wenn am Ende des Geldes noch viel Monat übrig ist - so geht s den meisten Leuten. Sind Sie in Ihrem Job zufrieden - oder würden Sie lieber

Mehr

Kapitel 3 Bilder farblich verändern - Arbeiten mit Objekten

Kapitel 3 Bilder farblich verändern - Arbeiten mit Objekten Nahezu auf jedem Buchcover, CD Hülle oder auf den Werbeseiten in Zeitschriften und Magazinen, sehen Sie fast ausschließlich Bilder, die mit einem EBV Programm einen sogenannten künstlerischen Touch erhalten

Mehr

Zum Konzept dieses Bandes

Zum Konzept dieses Bandes Zum Konzept dieses Bandes Zu jedem der 16 Kapitel zu Sach- und Gebrauchstexten erfolgt das Bearbeiten der Texte mithilfe von Lesestrategien in drei Schritten: 1. Schritt: Informationstext kennenlernen

Mehr

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen. Wir wollen mit Ihnen Ihren Auftritt gestalten Steil-Vorlage ist ein österreichisches Start-up mit mehr als zehn Jahren Erfahrung in IT und Kommunikation. Unser Ziel ist, dass jede einzelne Mitarbeiterin

Mehr

1. Standortbestimmung

1. Standortbestimmung 1. Standortbestimmung Wer ein Ziel erreichen will, muss dieses kennen. Dazu kommen wir noch. Er muss aber auch wissen, wo er sich befindet, wie weit er schon ist und welche Strecke bereits hinter ihm liegt.

Mehr

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Version 1.0 Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten In unserer Anleitung zeigen wir Dir, wie Du Blogbeiträge

Mehr

Schnelleinstieg in die (cs) AuftragPro

Schnelleinstieg in die (cs) AuftragPro Schnelleinstieg in die (cs) AuftragPro Starten der Anwendung Entpacken Sie das herunter geladene Archiv. Der entstandene Ordner (cs) AuftragPro enthält alle benötigten Komponenten der Anwendung. Öffnen

Mehr

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung Anleitung zur Daten zur Datensicherung und Datenrücksicherung Datensicherung Es gibt drei Möglichkeiten der Datensicherung. Zwei davon sind in Ges eingebaut, die dritte ist eine manuelle Möglichkeit. In

Mehr

Favoriten sichern. Sichern der eigenen Favoriten aus dem Webbrowser. zur Verfügung gestellt durch: ZID Dezentrale Systeme.

Favoriten sichern. Sichern der eigenen Favoriten aus dem Webbrowser. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Favoriten sichern Sichern der eigenen Favoriten aus dem Webbrowser zur Verfügung gestellt durch: ZID Dezentrale Systeme Februar 2015 Seite 2 von 20 Inhaltsverzeichnis Einleitung... 3 Mozilla Firefox...

Mehr