Programmieren in Java
|
|
- Steffen Horst Grosser
- vor 8 Jahren
- Abrufe
Transkript
1 Einführung in die Objektorientierung Klassen
2 2 Prozeduale Programmierung Bisher: Klassische prozeduale Programmierung Java ist allerdings eine objektorientierte Sprache Rein prozeduale Programmierung daher umständlich: Umschließende Klasse ohne logischen Zusammenhang Keine Möglichkeit der logischen Zusammenfassung von Methoden Beides könnte aufgelöst werden, in dem Klassen als statische Module genutzt werden Was allerdings das Konzept einer Klasse durchbricht Daher prozeduale Programmierung in Java nicht erstrebenswert
3 3 Objekt-orientierte Programmierung Wir denken in Objekten Jeder Gegenstand, jedes Lebewesen hat bestimmte Eigenschaften Jeder Gegenstand, jedes Lebewesen hat bestimmte Fähigkeiten Jeder Gegenstand, jedes Lebewesen hat einen bestimmten Nutzen Objekt-orientierte Programmierung: Programmatische Problemstellung auf ein natürliches Konzept reduzieren Schwierigkeiten: Wie identifiziert man Objekte in einem Problem Einfacher, wenn die Problemstellung reale Gegenstände enthält, aber wie ist bspw. der OO-Ansatz im Heap -Projekt? Wie stehen Objekte in Verbindung Wer macht was
4 4 Beispiel Computer Hardware Dell: 4 GHz AMD Quad-Core 8 GB DDR3 SDRAM 1500 GB Festplatte DVD + Brenner 2 x USB 2.0 Creative Sound Blaster Z Radeon HD 7480 Windows 8 imac: 2.9 GHz Intel Core i5 8 GB DDR3 SDRAM 1000 GB Festplatte 3 x USB x Thunderbolt Onboard Soundkarte NVIDIA GeForce GT 750M80 OS X Yosemite1 Die Hardware soll als Software, also als Programm abgebildet werden Der Computer selbst ist schnell als Objekt identifiziert
5 5 Beispiel Dell Prozessor: 4 GHz AMD Quad Core RAM: 8 GB DDR3 SDRAM Festplatte: 1500 GB Opt. Laufwerk: DVD + Brenner Anschlüsse: 2 x USB Soundkarte: Creative Sound Blaster Z Grafikarte: Radeon HD 7480 Betriebssystem: Windows 8 imac Prozessor: 2.9 GHz Intel Core i5 RAM: 8 GB DDR3 SDRAM Festplatte: 1000 GB Opt. Laufwerk: - Anschlüsse : 3xUSB 2.0, 2xThunderbolt Soundkarte: Onboard Grafikkarte: NVIDIA GeForce GT 750M Betriebssystem: OS X Yosemite INSTANZ Prozessor RAM Festplatte Opt. Laufwerk Anschlüsse Soundkarte Grafikarte Betriebssystem Computer KLASSE
6 6 Klassen In der Objektorientierung dienen Klassen als Blaupause für Objekte Eine Klasse beschreibt die Eigenschaften eines Objektes die Fähigkeiten eines Objektes Ein konkretes Objekt wird als Instanz einer Klasse bezeichnet Die Instanz legt die konkreten Werte der Eigenschaften fest Auf Basis dieser Werte unterscheiden sich die Fähigkeiten der Instanz Jede Instanz hat ihr eigenes Set an Werten und nur die eigenen Werte können geändert werden Man kann demnach sagen: Jede Instanz ist zusammengesetzt aus Werten für die einzelnen Eigenschaften Damit ist jede Klasse eine zusammengesetzter Datentyp
7 7 Definition einer Klasse in Java MODIFIKATOREN class BEZEICHNER { optional MODIFIKATOREN - public final public class BEZEICHNER { Die Datei in der die Klasse definiert wird, muss BEZEICHNER.java heißen Die Modifikatoren sind optional, vorerst aber immer: public public: Jeder darf Instanzen dieser Klasse erzeugen
8 8 Objekt-Variablen Jede Klasse definiert einen neuen zusammengesetzten Datentyp Daher müssen Werte (Instanzen) dieses Datentyps mit new erzeugt werden Instanzen sind damit immer auf dem Heap abgelegt Default-Erzeugung einer Instanz: new KLASSENBEZEICHNER ( ) new Computer() Natürlich können Variablen (Pointer) auf Basis einer Klasse definiert werden KLASSENBEZEICHNER BEZEICHNER new KLASSENBEZEICHNER ( ) Computer mycomputer = new Computer(); Es bleibt: Die Variable kann nur Werte aufnehmen, die vom Typ der Definition sind Die Variable mycomputer muss daher immer auf eine Instanz der Klasse Computer verweisen (oder auf null)
9 9 Objekt-Attribute Im Eingangsbeispiel wurde von den konkreten Beschreibungen auf die Klasse Computer geschlossen Eine Eigenschaft ist eine Variable, deren Scope die Klasse ist: public class BEZEICHNER { DATENTYP BEZEICHNER ; String system; Die Eigenschaften müssen also noch auf passende Typen gemappt werden Prozessor RAM Festplatte Opt. Laufwerk Anschlüsse Soundkarte Grafikarte Betriebssystem Computer Computer Prozessor: String RAM: int Festplatte: int Opt. Laufwerk: String Anschlüsse: String[] Soundkarte: String Grafikarte: String Betriebssystem: String
10 10 Objekt-Attribute (II) Der Zugriff auf ein Objekt-Attribut erfolgt immer über eine Variable Wie bereist gesehen, sind Instanzen immer Heap-Werte Ein Attribut ist dabei ein Wert an einer bestimmten Stelle im Speicherbereich der Instanz, die über den Attributnamen zugreifbar ist Analog: Zugriff auf ein bestimmtes Array-Element über seinen Index Der Zugriff muss also per Dereferenzierung erfolgen String system; Computer mycomputer = new Computer(); String currentsystem = mycomputer.system; Ein Zugriff auf currentsystem würde zu null auswerten Das Objekt-Attribut wurde bisher nur definiert, aber nie initialisiert Eine Initialisierung kann bereits bei der Definition erfolgen String system = "Windows 8"; Computer pc = new Computer(); Computer imac = new Computer(); pc.system.equals(imac.system) true Jede Instanz hat damit als Defaultwert für system den Wert "Windows 8"!
11 11 Objekt-Methoden public RÜCKGABETYP BEZEICHNER ( DATENTYP PARAM-, ) BEZEICHNER optional SATZ; BLOCK { return AUSDRUCK ; Der Modifikator static: optional Mit: zur Klasse gehörig Ohne: zur Instanz gehörig Kein static bei Objekt-Methoden Der Modifikator public: Jeder darf die Methode aufrufen Vorerst jede Methode public public void dosomething() { Die Methode kann nur per Deferenzierung einer Instanz aufgerufen werden Computer pc = new Computer(); pc.dosomething();
12 12 Das Schlüsselwort: static Angenommen man würde die Methode dosomething mit static definieren: String system = "Windows 8"; public static void dosomething() { System.out.println("I like: " + system); Die IDE (oder genauer: der Compiler) wird sofort monieren: non-static variable system cannot be referenced from a static context Eine statische Methode hat keinen Zugriff auf Objekt-Attribute Sie gehört zur Klasse nicht aber zur Instanz Der Zugriff erfolgt daher auch direkt über die Klasse: Computer.doSomething(); Die main-methode ist daher static (wer sollte die nötige Instanz erzeugen?)
13 13 Das Schlüsselwort: this Objekt-Attribute können innerhalb einer Methode überdeckt werden String system = "Windows 8"; public void dosomething() { String system = "Linux"; System.out.println(" I like: " + system); Der Zugriff auf ein Attribut erfolgt immer über seine Instanz Dies ist auch innerhalb eines Objektes der Fall, allerdings implizit Der Compiler überprüft zuerst, ob eine Variable lokal definiert wurde Falls nicht, überprüft er ob ein passendes Objekt-Attribut existiert Falls ja, wird implizit der Variablenaufruf um das Schlüsselwort this ergänzt this ist ein spezieller Pointer, der immer auf die aktuelle Instanz verweist Besser ist es den Zugriff auf Attribute immer explizit mit this zu schützen public void dosomething() { String system = "Linux"; System.out.println("Booting: " + this.system); Computer pc = new Computer(); pc.dosomething(); "I like: Linux"; Computer pc = new Computer(); pc.dosomething(); "I like: Windows 8";
14 14 Attribut-Kapselung Meist ist eine enge Kapselung von Attribut und Instanz erstrebenswert: Attribute sollten nur durch die zugehörige Instanz geändert/gelesen werden Bislang ist ein Attribut allerdings auch von außen änder- bzw. lesbar Der Modifikator private definiert, dass ein Attribut nur noch von der eigenen Instanz geändert bzw. gelesen werden kann private int ram; Computer mycomputer = new Computer(); int currentram = mycomputer.ram; Der Zugriff und das Ändern erfolgt dann über zwei Methoden: set/get + uppercase(a) + ttributename int ram; Setter: Setzten eines neuen Wertes Getter: Lesen des Attributes public void setram(int ram) { this.ram = ram; public int getram() { return this.ram;
15 15 Warum? Das Attribut gehört zur Instanz, also soll auch die Instanz die Kontrolle haben Kapselung macht ein Attribut resistent vor invaliden Werten: Die Instanz kann vor dem Setzen über den Setter den Wert validieren und ggfs. ablehnen private int ram; public void setram(int ram) { if (ram < 4 ram > 16) { return ; this.ram = ram; Änderung der internen Repräsentation Definierter Datentyp stellt sich intern als ungeeignet dar Änderung möglich, das Attribut gekapselt Getter/Setter-Typ bleibt allerdings beim alten Typ
16 16 Die Computer-Klasse Computer Prozessor: String RAM: int Betriebssystem: String Festplatte: int Opt. Laufwerk: String Anschlüsse: String[] Soundkarte: String Grafikarte: String private String processor; private int ram; private String system; private int hd; private String device; private String[] connectors; private String soundcard; private String gfxcard; public void setprocessor(string processor) public int getprocessor () public void setram(int ram) public int getram() public void setconnectors(string[] connectors) public int getconnectors() public void setgfxcard(string gfxcard) public int getgfxcard ()
17 17 Die Computer-Klasse Nun da die Attribute der Computer-Klasse identifiziert, typisiert und implementiert wurden, können die konkreten Instanzen erstellt werden: Computer dell = new Computer(); dell.setprocessor("4 GHz AMD Quad Core"); dell.setram(8); dell.sethd(1500); dell.setdevice("dvd + Brenner"); dell.setsoundcard("creative Sound Blaster Z"); dell.setgfxcard("radeon HD 7480"); dell.setsystem("windows 8"); dell.setconnectors(new String[]{"USB", "USB"); Computer imac = new Computer(); imac.setprocessor("2.9 GHz Intel Core i5"); imac.setram(8); imac.sethd(1000); imac.setdevice(null); imac.setsoundcard("onboard"); imac.setgfxcard("nvidia GeForce GT 750M"); imac.setsystem("os X Yosemite"); imac.setconnectors( new String[]{ "USB", "USB", "USB", "Thunderbold", "Thunderbold" ); Die Instanziierung erfolgt in der main-methode Für die main-methode sollte eine neue Klasse erstellt werden Diese sollte lediglich die main-methode enthalten
18 18 Konstruktoren Im Beispiel werden imac und dell über die Setter-Methoden initialisiert Diese Initialisierung basiert allerdings rein auf gutem Willen Einzelne Setter-Aufrufe können weggelassen werden Syntaktisch ist dies kein Problem, aber evtl. semantisch Um im Bild zu bleiben: Ein Computer benötigt einen Prozessor Ein Konstruktor ist eine spezielle Methode zur Initialisierung einer Instanz Per Default besitzt jede Klasse implizit den leeren Konstruktor Ein Konstruktor wird automatisch beim Erzeugen mit new aufgerufen public class BEZEICHNER { public BEZEICHNER ( ) { public Computer() { Computer dell = new Computer(); Ein Konstruktor muss so heißen wie seine Klasse Ein Konstruktor hat keinen Rückgabewert und damit also auch kein return
19 19 Konstruktoren (II) Die Anzahl an Konstruktoren ist beliebig (Überladung von Methoden) Sobald ein eigener Konstruktor definiert wurde, ist eine Instanz nicht mehr über den Default-Konstruktor erzeugbar Stattdessen muss mit der Erzeugung genau ein Konstruktor erfüllt werden Die Erzeugung ist demnach nichts weiter als new + Methodenaufruf Wobei die Methode ein Konstruktor sein muss So kann die Initialisierung bestimmter Attribute sichergestellt werden public Computer (String processor, int ram, String system) { this.processor = processor; this.ram = ram; this.system = system; Computer dell = new Computer(); Computer dell = new Computer("4 GHz AMD Quad Core"); Computer dell = new Computer("4 GHz AMD Quad Core", 8, "Windows 8");
20 20 Funktionalität Die Eigenschaften eines Computers wurden als Attribute definiert Bisher ist jede Computer-Instanz lediglich ein Daten-Container Solche Instanzen werden POJOs genannt (Plain Old Java Object) Wieder im Bild: Ein Computer ist mehr als nur seine Bestandteile Zumindest wird man einen Computer an und ausschalten können Diese Fähigkeiten sollten in der Klasse verankert werden: public void on() { System.out.println("Booting: " + this.system); public void off() { System.out.println("Shutdown: " + this.system); Computer dell = new Computer( "4 GHz AMD Quad Core", 8, Windows 8" ); dell.on(); // Botting: Windows 8 dell.off(); // Shutdown: Windows 8 Computer imac = new Computer( "2.9 GHz Intel Core i5", 8, "OS X Yosemite" ); imac.on(); // Botting: OS X Yosemite imac.off(); // Shutdown: OS X Yosemite Die Methoden wurden in Abhängigkeit der Objekt-Attribute definiert Die Attribute bestimmen das Verhalten der Methode
21 21 Der Weg zur Klasse Analyse Neue Klassen können eine erneute Analyse erfordern Klassen identifizieren Attribute identifizieren Attribute typisieren Typisierung kann zu neuen Klassen führen Neue Funktionalität kann zu neuen Attributen führen Attribute kapseln Konstruktoren festlegen Funktionalität identifizieren Methoden definieren
22 22 Aufgabe Aufgabe 1: Legen Sie ein neues Netbeans-Projekt an Fügen Sie zwei Klassen hinzu Computer Implementieren Sie die Klasse von Folie 16 aus Füge Sie der Klasse eine Methode print hinzu, die alle Attribute der Instanz ausgibt Main Schreiben Sie hier eine main-methode, die zwei Computer Instanzen erstellt Nutzen Sie die print-methode, um eine Ausgabe zu generieren Aufgabe 2: Das Computer-Beispiel hinkt Identifizieren und Definieren Sie weitere Klassen auf Basis der Komponenten eines Computers
Programmieren in Java
Einführung in die Objektorientierung Klassen & Objekte 2 Wiederholung (Arrays initialisieren) Statisch: BASISDATENTYP [] Bezeichner = { WERT, WERT, ; WERT DATENTYP int[] firstsevenfibonacci = {0, 1, 1,
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrProgrammieren in Java
Einführung in die Objektorientierung Objekt-Relationen 2 Klassen In der Objektorientierung dienen Klassen als Blaupause für Objekte Eine Klasse beschreibt die Eigenschaften eines Objektes die Fähigkeiten
MehrEinfü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
MehrProgrammieren in Java
Einführung in die Objektorientierung (Teil 2) - Objekt-Relationen - Pakete 2 Wiederholung (Klassen) In der Objektorientierung dienen Klassen als Blaupause für Objekte Eine Klasse beschreibt die Eigenschaften
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrJava 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
MehrComputeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
Mehr5. Tutorium zu Programmieren
5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting
Mehr5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:
MehrFachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in
MehrObjektorientierte 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/
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
MehrJavakurs 2013 Objektorientierung
Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
MehrMatrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -
Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung
Mehr5. Abstrakte Klassen
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Vogel Amsel Drossel Fink Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg,
MehrJava: 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
MehrSoftware Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrObjektorientierte 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
MehrProgrammieren 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
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrDieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.
Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrS7-Hantierungsbausteine für R355, R6000 und R2700
S7-Hantierungsbausteine für R355, R6000 und R2700 1. FB90, Zyklus_R/W Dieser Baustein dient zur zentralen Kommunikation zwischen Anwenderprogramm und dem Modul R355 sowie den Geräten R6000 und R2700 über
MehrÜbung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
MehrTypumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
MehrDeklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrProgrammieren in Java
Einführung in die Objektorientierung (Teil 2) - Pakete - Objekt-Relationen 2 Wiederholung (Strings) String ist in Java ein zusammengesetzter Datentyp Variablen vom Typ String sind demnach Pointer D.h.
MehrVererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
MehrAdvoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank
Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
Mehr50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte
50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien
MehrWie 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,
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
MehrLizenzierung von SharePoint Server 2013
Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe
MehrZwischenablage (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
MehrDas Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
MehrBEISPIELKLAUSUR Softwareentwicklung:
Prof. Dr. Andreas Fink Institut für Informatik Fakultät für Wirtschafts- und Sozialwissenschaften Helmut-Schmidt-Universität / Universität der Bundeswehr Hamburg BEISPIELKLAUSUR Softwareentwicklung: Objektorientierte
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
MehrDer lokale und verteilte Fall
Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
MehrArbeiten 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
MehrStudentische Lösung zum Übungsblatt Nr. 7
Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int
MehrDokumentation IBIS Monitor
Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt
MehrScala kann auch faul sein
Scala kann auch faul sein Kapitel 19 des Buches 1 Faulheit Faulheit ( lazy evaluation ) ist auch in C oder Java nicht unbekannt int x=0; if(x!=0 && 10/x>3){ System.out.println("In if"); } Nutzen der Faulheit?
Mehrteamsync 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
MehrHandbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen
Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen Dateiname: ecdl5_01_02_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Access
MehrSysteme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige
MehrRundung und Casting von Zahlen
W E R K S T A T T Rundung und Casting von Zahlen Intrexx 7.0 1. Einleitung In diesem Werkstattbeitrag erfahren Sie, wie Zahlenwerte speziell in Velocity, aber auch in Groovy, gerundet werden können. Für
MehrInstallation OMNIKEY 3121 USB
Installation OMNIKEY 3121 USB Vorbereitungen Installation PC/SC Treiber CT-API Treiber Einstellungen in Starke Praxis Testen des Kartenlesegeräts Vorbereitungen Bevor Sie Änderungen am System vornehmen,
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 13 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
Mehr2. Semester, 2. Prüfung, Lösung
2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter
MehrLubuntu als Ersatz für Windows
Lubuntu als Ersatz für Windows Das kostenfreie Betriebssystem Lubuntu kann als Distribution für ältere Hard- und Software eingesetzt werden, um z.b. Windows als Betriebssystem abzulösen. Lubuntu bietet
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
MehrGrundlagen 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)
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrPrimzahlen 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
MehrNutzung von GiS BasePac 8 im Netzwerk
Allgemeines Grundsätzlich kann das GiS BasePac Programm in allen Netzwerken eingesetzt werden, die Verbindungen als Laufwerk zu lassen (alle WINDOWS Versionen). Die GiS Software unterstützt nur den Zugriff
MehrWindows Vista Security
Marcel Zehner Windows Vista Security ISBN-10: 3-446-41356-1 ISBN-13: 978-3-446-41356-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41356-6 sowie im Buchhandel
MehrProgrammieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
MehrWhitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager email-rückläufer Script. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager 7 combit Relationship Manager email-rückläufer Script Inhalt Einleitung 3 Notwendige Anpassungen 3 crm Solution
MehrAutoCAD 2007 - Dienstprogramm zur Lizenzübertragung
AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung Problem: Um AutoCAD abwechselnd auf mehreren Rechnern einsetzen zu können konnte man bis AutoCAD 2000 einfach den Dongle umstecken. Seit AutoCAD 2000i
MehrLizenzierung von SharePoint Server 2013
Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe
Mehr1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.
1 Einleitung Lernziele automatische Antworten bei Abwesenheit senden Einstellungen für automatische Antworten Lerndauer 4 Minuten Seite 1 von 18 2 Antworten bei Abwesenheit senden» Outlook kann während
MehrDelegatesund Ereignisse
Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses
Mehr5.5.8 Öffentliche und private Eigenschaften
5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung
MehrHandbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager
Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager Dateiname: ecdl2_03_05_documentation Speicherdatum: 22.11.2004 ECDL 2003 Modul 2 Computermanagement und Dateiverwaltung
MehrWinVetpro im Betriebsmodus Laptop
WinVetpro im Betriebsmodus Laptop Um Unterwegs Daten auf einem mobilen Gerät mit WinVetpro zu erfassen, ohne den Betrieb in der Praxis während dieser Zeit zu unterbrechen und ohne eine ständige Online
MehrInstallation LehrerConsole (für Version 6.2)
Dr. Kaiser Systemhaus GmbH Köpenicker Straße 325 12555 Berlin Telefon: (0 30) 65 76 22 36 Telefax: (0 30) 65 76 22 38 E-Mail: info@dr-kaiser.de Internet: www.dr-kaiser.de Installation LehrerConsole (für
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrInternet online Update (Mozilla Firefox)
Um Ihr Consoir Beta immer schnell und umkompliziert auf den aktuellsten Stand zu bringen, bieten wir allen Kunden ein Internet Update an. Öffnen Sie Ihren Mozilla Firefox und gehen auf unsere Internetseite:
Mehr192.168.0.1. Wenn wir also versuchen auf einen anderen PC zuzugreifen, dann können wir sowohl per Name als auch mit der Adresse suchen.
Windows Netzwerk Sie haben einen oder mehrere PC mit einander verbunden? Dann sollte man das auch nutzen. Generelles: Ein PC hat in der Regel IMMER eine feste Nummer / Adresse (egal ob wechselnd oder immer
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
MehrEinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2
EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2
Mehr1 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.
MehrEs 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
MehrEinfü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 Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E
MehrEinführung in Javadoc
Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrBedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien
Sie haben von der VR DISKONTBANK GmbH ein signiertes PDF-Dokument (i.d.r. eine Zentralregulierungsliste mit dem Status einer offiziellen Rechnung) erhalten und möchten nun die Signatur verifizieren, um
Mehr5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
MehrFuxMedia 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
MehrWürfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
Mehr13 OOP MIT DELPHI. Records und Klassen Ein Vergleich
13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,
MehrProgrammierkurs Java
Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
MehrHANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG
it4sport GmbH HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG Stand 10.07.2014 Version 2.0 1. INHALTSVERZEICHNIS 2. Abbildungsverzeichnis... 3 3. Dokumentenumfang... 4 4. Dokumente anzeigen... 5 4.1 Dokumente
MehrSICHERN 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
MehrBinä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
MehrMCRServlet Table of contents
Table of contents 1 Das Zusammenspiel der Servlets mit dem MCRServlet... 2 1 Das Zusammenspiel der Servlets mit dem MCRServlet Als übergeordnetes Servlet mit einigen grundlegenden Funktionalitäten dient
MehrDiana Lange. Generative Gestaltung Operatoren
Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.
MehrFachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
Mehr