Vorlesung Informatik B

Größe: px
Ab Seite anzeigen:

Download "Vorlesung Informatik B"

Transkript

1 Vorlesung Informatik B Inhalt (Planung) 1 Grundlegende OO Konzepte (Fundamental Concepts) 2 Grundlagen der Software Entwicklung 3 Wichtige OO Konzepte (Major Concepts) 4 Zusätzliche OO Konzepte (Minor Concepts) 5 Klassenbibliotheken 6 Grafische Benutzeroberflächen 7 Netzwerkprogrammierung... Jun. Prof. Dr. E. Pulvermüller Folie 2 Informatik B Sommersemester 09

2 1 Grundlegende OO Konzepte Inhalt 1.1 Objekte, Klassen, Instanzen im Programm (Java) 1.2 Konzepte und UML Darstellung 1.3 Identität 1.4 Sichtbarkeitsbereiche (Scoping) 1.5 Parameter und Rückgabewerte 1.6 Überladen von Methoden 1.7 Spezielle Methoden 1.8 Gleichheit bzw. Identität von Objekten 1.9 Klasseneigenschaften Jun. Prof. Dr. E. Pulvermüller Folie 3 Informatik B Sommersemester 09

3 1 Grundlegende OO Konzepte 1.9 Klasseneigenschaften In Java gibt es keine globalen Funktionen oder globale Variablen Manchmal möchte man Variablen oder Operationen haben, die nicht an Objekte einer Klasse gebunden sind: - Klassenvariablen oder attribute (= class scope attribute): existiert pro Klasse einmal; alle Objekte teilen sich die Variable Zugriff: Klassenname.Variablenname - Klassenmethoden: Zugriff: Klassenname.Methodenname In Java mit Hilfe des Modifikators static Jun. Prof. Dr. E. Pulvermüller Folie 4 Informatik B Sommersemester 09

4 1 Grundlegende OO Konzepte 1.9 Klasseneigenschaften Beispiel Klassenattribut: Zählen der von einer Klasse erzeugten Instanzen public class Person { static int objno = 0; public String name; public static void main(string[] args) { } Person() { name = dummy ; ++objno; } protected void dying() { --objno; } } Person p1 = new Person(); Person p2 = new Person(); System.out.println( No: + Person.objNo); p2.dying(); System.out.println( No: + Person.objNo); Jun. Prof. Dr. E. Pulvermüller Folie 5 Informatik B Sommersemester 09

5 1 Grundlegende OO Konzepte 1.9 Klasseneigenschaften Beispiel Klassenattribut: Deklaration von Konstanten (für alle Instanzen der Klasse) public class Person { public static final int ANZAHLOHREN = 2;... } Lebensdauer überdauert die einzelnen Instanzen (erstreckt sich über das gesamte Programm) Unveränderliche Variable (Konstante): Keine Wertänderung während der Programmausführung möglich Großschreibung als Konvention für Konstanten (kommt aus der Sprache C) Jun. Prof. Dr. E. Pulvermüller Folie 6 Informatik B Sommersemester 09

6 1 Grundlegende OO Konzepte 1.9 Klasseneigenschaften Beispiel Klassenoperation: Verwendung von sqrt in der Klasse Math: public static void main (String[] args) { double x =4.0d; } System.out.println( Quadratwurzel ist: + Math.sqrt(x)); Jun. Prof. Dr. E. Pulvermüller Folie 7 Informatik B Sommersemester 09

7 1 Grundlegende OO Konzepte 1.9 Klasseneigenschaften z.b. in Klassenbibliotheken - System ( Toolbox, zur Kommunikation mit dem Betriebssystem z.b. Funktionen für den Aufruf des Garbage Collectors oder das Beenden des Programms) - Math (Funktionen zur Fließkommaarithmetik) Besonderheiten von Klassenmethoden: - kein Zugriff auf Instanzvariablen (Unabhängigkeit zum konkreten Objekt) - this-referenz unbekannt - beides wird bei der Übersetzung vom Compiler als Fehler erkannt Jun. Prof. Dr. E. Pulvermüller Folie 8 Informatik B Sommersemester 09

8 1 Grundlegende OO Konzepte 1.9 Klasseneigenschaften Statische Konstruktoren (Klasseninitialisierer) Ähnlich wie die schon bekannten Konstruktoren, jetzt aber Initialisierung von Klassenattributen Der statische Konstruktor wird einmal zu Programmbeginn (Klassen laden) aufgerufen (statt bei Instanziierungen) class Test { static int i; static int j; } static { i = 5; j = 3 + i; } statischer Konstruktor mit Name static Ohne Parameter, da keine benutzerdefinierten Parameter möglich sind (Aufruf zur Klassenladezeit durch die Java Virtual Machine) Jun. Prof. Dr. E. Pulvermüller Folie 9 Informatik B Sommersemester 09

9 1 Grundlegende OO Konzepte 1.9 Klasseneigenschaften Darstellung in UML: Person ANZAHLOHREN:int kinder:kind [0..*] name:string = Noname /alter Abgeleitetes Attribut (derived) wird berechnet; darf nicht geändert werden Klassenvariable (Großschreibung hier nicht gefordert) Multiplizität (multiplicity) / Attribut kinder hier optional Initialwert (inital value) Darstellung für Klassenmethoden analog zu Klassenattributen Jun. Prof. Dr. E. Pulvermüller Folie 10 Informatik B Sommersemester 09

10 1 Grundlegende OO Konzepte Überblick über die Grundbegriffe der Objektorientierung Minor Concepts: Typing Concurrency Polymorphism Persistence Major Concepts: Relations between Classes (and Objects) Abstraction, Encapsulation / Information Hiding Modularity and Hierarchy Fundamental: Class, Instance, Object [Boo94] G. Booch. Object-Oriented Analysis and Design, 2nd. Edition, Benjamin/Cummings, Redwood City, CA, 1994 Jun. Prof. Dr. E. Pulvermüller Folie 11 Informatik B Sommersemester 09

11 2 Inhalt 2.1 Die Programmiersprache Java 2.2 Vom Programm zur Maschine 2.3 Abstraktion von der Plattform Jun. Prof. Dr. E. Pulvermüller Folie 12 Informatik B Sommersemester 09

12 2.1 Die Programmiersprache Java Entwicklung der Programmiersprachen Jun. Prof. Dr. E. Pulvermüller Folie 13 Informatik B Sommersemester 09

13 2.1 Die Programmiersprache Java Entwicklung der Programmiersprachen Jun. Prof. Dr. E. Pulvermüller Folie 14 Informatik B Sommersemester 09

14 2.1 Die Programmiersprache Java Java Entwicklung: - 90iger Jahre: Programmiersprache für Consumer Geräte, Set-Top-Boxen, Netzwerk-Anwendungen - heute: hauptsächlich zur Realisierung Internetbasierter / verteilter Anwendungen - OpenJDK ( als Basis von Java 7: endgültige Freigabe als Open Source-Lizenz GPL 2 breite Industrieunterstützung für Java Sun, Apache Software Foundation, BEA, IBM, Oracle, (Microsoft) Konkurrent: C#, C++ Jun. Prof. Dr. E. Pulvermüller Folie 15 Informatik B Sommersemester 09

15 2.1 Die Programmiersprache Java / _ha_CZ.html?thes=8007,8008,10228,10232&tp=/ausrichtungen/prozesse Jun. Prof. Dr. E. Pulvermüller Folie 16 Informatik B Sommersemester 09

16 2.1 Die Programmiersprache Java Java ist konzipiert als eine... - einfache und kleine - objektorientierte - dezentrale - interpretierte - stabil laufende - architekturneutrale [plattformunabhängig] - portierbare - dynamische Sprache, die Hochgeschwindigkeitsanwendungen und Multithreading unterstützt (nach SUN Microsystems) Jun. Prof. Dr. E. Pulvermüller Folie 17 Informatik B Sommersemester 09

17 2.1 Die Programmiersprache Java Java-Applets - in Web-Seiten eingebettet - in der Laufzeit-Umgebung von Web-Browsern ausgeführt - aus Sicherheitsgründen eingeschränkte Rechte Java-Applikationen - von Kommandozeile oder als Anwendung gestartet - volle Rechte einer eigenständigen Anwendung Programmierung von Applets und Applikationen ist ähnlich zueinander Jun. Prof. Dr. E. Pulvermüller Folie 18 Informatik B Sommersemester 09

18 2.1 Die Programmiersprache Java Java Development Kit (JDK) - kostenlose Java-Entwicklungsumgebung von Sun/Oracle java javac Klassenbibliothek + JVM + Compiler + Tools - zur Java-Entwicklung reichen prinzipiell Text-Editor und JDK integrierte Entwicklungsumgebung (Integrated Development Environment = IDE) kommerziell: - Borland JBuilder (CodeGear),... frei: - Eclipse (IBM/Konsortium), - NetBeans (Sun), - BlueJ ( Jun. Prof. Dr. E. Pulvermüller Folie 19 Informatik B Sommersemester 09

19 2.1 Die Programmiersprache Java Java Entwicklungswerkzeuge javac Java Compiler (javac Example.java) java Java-Interpreter (Java Application Launcher) (java Example) appletviewer Applet-Viewer (appletviewer Example.html) javadoc Dokumentationswerkzeug (API Documentation Generator) (javadoc Example.java) jdb Textmode-Debugger (Java Application Debugger) (jdb Example) javap Disassembler (Class File Disassembler) (javap Example) javah C Header and Stub File Generator (javah Example) jar JAR Archive Tool... und andere Jun. Prof. Dr. E. Pulvermüller Folie 20 Informatik B Sommersemester 09

20 2.1 Die Programmiersprache Java Java Runtime Environment (JRE) - Untermenge des JDK JRE java javac Klassenbibliothek + JVM + Compiler + Tools - benötigt, um Java Applikationen auszuführen - darf ohne Lizenzgebühren eigenen Produkten beigefügt werden Java Virtual Machine (JVM) - Teil des JRE, der Bytecode (in den.class Dateien) interpretiert und ausführt -.class Dateien werden bei Bedarf geladen und interpretiert - oder just in time in Maschinensprache der Zielplattform übersetzt Jun. Prof. Dr. E. Pulvermüller Folie 21 Informatik B Sommersemester 09

21 2.2 Vom Programm zur Maschine Allgemeiner Ablauf: Transformation: (Präprozessor, Übersetzer, Compiler, Assemblierer, Linker, Loader) Assembler File HelloWorld... main: pushl %ebp movl %esp,%ebp subl $4,%esp call printf addl $8,%esp... Interpretation auf der Firmware Hardware, el. Schaltkreise Prozessor R1 Quelltext: HelloWorld Maschinencode: das sieht der Prozessor (HelloWorld) R2 T1 R4 +5 V x1 x2 Tv Tp D y = (x1 x2) T2 R3 0 V Jun. Prof. Dr. E. Pulvermüller Folie 22 Informatik B Sommersemester 09

22 2.2 Vom Programm zur Maschine Ablauf am Beispiel Java: 1) Programmierung: Entwickler schreibt Quelltext (Source Code) javac.java Dateien (z.b. Person.java) Compiler 2) Kompilierung: Übersetzer/Compiler übersetzt Quellcode in Binärcode (Java- Binärcode = Bytecode) menschenlesbare Darstellung (Mnemonic) javap java.class Dateien (z.b. Person.class) Hex Darstellung JVM Interpreter 3) Java Virtual Machine interpretiert Bytecode, führt ihn aus Applikation in Ausführung Jun. Prof. Dr. E. Pulvermüller Folie 23 Informatik B Sommersemester 09

23 2.1 Die Programmiersprache Java Plattformunabhängigkeit Quelltext - Bytecode ist plattformunabhängig Compiler Bytecode - JVM existieren für verschiedene Plattformen kompilierte Programme auf verschiedenen Plattformen ausführbar Jun. Prof. Dr. E. Pulvermüller Folie 24 Informatik B Sommersemester 09 Unix JVM Win JVM MacOS JVM IBM Mainframe Dell Laptop Macbook

24 2.2 Vom Programm zur Maschine Compilation: versus Interpretation: Quellprogramm Quellprogramm Compiler Zielprogramm (Maschinensprache) Interpreter Ausführung Ausführung Jun. Prof. Dr. E. Pulvermüller Folie 25 Informatik B Sommersemester 09

25 2.2 Vom Programm zur Maschine Wie macht es Java? Quellprogramm Quellprogramm Compiler Zielprogramm (Byte Code) (Maschinensprache) Ausführung Interpreter Ausführung Jun. Prof. Dr. E. Pulvermüller Folie 26 Informatik B Sommersemester 09

26 2.2 Vom Programm zur Maschine Wie macht es Java? Quellprogramm Compiler Zielprogramm: Byte Code Maschinensprache eines Spezialprozessors: PicoJava Jun. Prof. Dr. E. Pulvermüller Folie 27 Informatik B Sommersemester 09

27 2.2 Vom Programm zur Maschine Vom Programm auf die Virtuelle Maschine und umgekehrt [Bill Venners, The Java Virtual Machine] class Act { public static void domathforever() { int i = 0; for (;;) { i += 1; i *= 2; } } } javac Disassembly 0 iconst_0 // 03 1 istore_0 // 3b 2 iinc 0, 1 // iload_0 // 1a 6 iconst_2 // 05 7 imul // 68 8 istore_0 // 3b 9 goto 2 // a7 ff f9 javap Bytecode stream: 03 3b a b a7 ff f9 (hexadezimale Darstellung) Jun. Prof. Dr. E. Pulvermüller Folie 28 Informatik B Sommersemester 09

28 2.2 Vom Programm zur Maschine Bytecode zum Weiterlesen: Jun. Prof. Dr. E. Pulvermüller Folie 29 Informatik B Sommersemester 09

29 2.3 Abstraktion von der Plattform Abstraktion in Java Java Programm (Anwendungsprogramm) Java API Java Virtual Machine (JVM) Laufzeitsystem Betriebssystem JVM zum Weiterlesen: Tim Lindholm, Frank Yellin: The Java TM Virtual Machine Specification, Second Edition Online frei verfügbar: Jun. Prof. Dr. E. Pulvermüller Folie 30 Informatik B Sommersemester 09

30 2.3 Abstraktion von der Plattform Abstraktion von der Plattform Java Programm Java API Java Virtual Machine (JVM) Systemprogramme, z.b. vi Systemaufrufschnittstelle (System Call Interface) Betriebssystem (Operating System) Verwaltung der Ressourcen (z.b. Speicher, Dateien, I/O, Benutzer, Prozesse) Maschinensprache Mikroprogramme Physikalische Geräte (CPU, Speicher,...) Treiber Sicherheit durch kontrollierende JVM Zwischenschicht Jun. Prof. Dr. E. Pulvermüller Folie 31 Informatik B Sommersemester 09

31 2.3 Abstraktion von der Plattform Programm javac java int i = 99; A obja = new A();... API JVM Garbage Collector Betriebssystem (BS) Prozess N Jun. Prof. Dr. E. Pulvermüller Folie 32 Informatik B Sommersemester 09

32 2.3 Abstraktion von der Plattform Systemressource Prozess (vom Betriebssystem verwaltet) Prozesse (Processes / Tasks): die ausführbaren / ausgeführten Programme auf einem Rechner - Multi-Processing vs. Single-Processing - Multi-User vs. Single-User Prozesszustände: 1 (just) created 2 runnable execute on CPU 4 blocked 6 Zombie suspended 8 Jun. Prof. Dr. E. Pulvermüller Folie 33 Informatik B Sommersemester 09

33 2.3 Abstraktion von der Plattform Systemressource Prozess Prozesse (Processes / Tasks): die ausführbaren / ausgeführten Programme auf einem Rechner - Prozesse besitzen eigene Speicherbereiche (Adressräume) für Daten und Code. - Prozesse besitzen Zugriffsrechte (Access Rights) auf Ressourcen wie Dateien oder Netzwerkverbindungen. - Prozesse haben Verwaltungsinformationen über ihren Zustand, z.b. Priorität und Ablaufzustand. - Das Betriebssystem hält in einer Prozesstabelle (Process Table) alle Prozesse gespeichert (Process ID, pid) und steuert den Ablauf der Prozesse. Jun. Prof. Dr. E. Pulvermüller Folie 34 Informatik B Sommersemester 09

34 2.3 Abstraktion von der Plattform - einem Prozess ist ein Speicherbereich zugeordnet = Adressraum eines Prozesses - Der Adressraum eines Prozesses (Speichermodell) besteht aus: Datensegment, Programmsegment und dem Stack (Stapelspeicher) Stack kurzfristige Speicherung (push/pop) empty Prozess N Data Segment Text Segment längerfristige Speicherung Änderung nur in Ausnahmenfällen Jun. Prof. Dr. E. Pulvermüller Folie 35 Informatik B Sommersemester 09

35 2.3 Abstraktion von der Plattform Speicherbedarf für: - die Speichervariablen gemäß Datentyp - das Programm / den Programmtext Speicherverwaltung für Prozesse durch das Betriebssystem (UNIX Speichermodell) Systemspeicher... B-Stack B-Data B-Text A-Stack A-Data A-Text OS Stack empty Data Segment (== Heap) Text Segment Prozessadressraum = Programmspeicher verwaltet durch die Programmiersprache (Laufzeitumgebung bzw. Virtual Machine) Jun. Prof. Dr. E. Pulvermüller Folie 36 Informatik B Sommersemester 09

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder Java: Kapitel 1 Überblick Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Was ist Java? Die Java-Technologie umfasst die Programmiersprache Java sowie die Java-Plattform

Mehr

Grundlagen der Informatik für Ingenieure I

Grundlagen der Informatik für Ingenieure I 2 Java: Java-Einführung 2 Java: Java-Einführung 2.1 Java-Entwicklungsgeschichte 2.2 Java Eigenschaften 2.3 Java-Entwicklungsumgebung 2.4 Application vs. Applet 2.5 Ein erstes Programm 2.1 2.1 Java - Entwicklungsgeschichte

Mehr

J.5 Die Java Virtual Machine

J.5 Die Java Virtual Machine Java Virtual Machine Die Java Virtual Machine 22 Prof. Dr. Rainer Manthey Informatik II Java-Compiler und Java Virtual Machine Quellcode-Datei class C... javac D.java Java-Compiler - Dateien class class

Mehr

Skript Informatik B. Objektorientierte Programmierung in Java

Skript Informatik B. Objektorientierte Programmierung in Java Skript Informatik B Objektorientierte Programmierung in Java Sommersemester 2011 - Teil 2 - Copyright, 2010 2012, Elke Pulvermüller Inhalt 0 Einleitung 1 Grundlegende objektorientierte Konzepte 2 Grundlagen

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Einführung Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 04.10.2016 Technische Universität Braunschweig, IPS Überblick Organisatorisches Hello! 04.10.2016 Dr. Werner Struckmann / Stephan Mielke,

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Einführung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 04.10.2017 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello World 04.10.2017 Dr. Werner Struckmann

Mehr

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

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

Mehr

Java Einführung Programmcode

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

Mehr

Einführung zu den Übungen aus Softwareentwicklung 1

Einführung zu den Übungen aus Softwareentwicklung 1 Einführung zu den Übungen aus Softwareentwicklung 1 Dr. Thomas Scheidl Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz scheidl@pervasive.jku.at Java Einführung Java

Mehr

Übung Softwareentwicklung 1, WS0910 Gemeinsame Einführung

Übung Softwareentwicklung 1, WS0910 Gemeinsame Einführung Übung Softwareentwicklung 1, WS0910 Gemeinsame Einführung Informatik, Informationselektronik, Wirtschaftsinformatik, Lehramt Informatik, Chemie, etc. Dipl.-Ing. Institute for Pervasive Computing Johannes

Mehr

Kapitel 02. Java was, wann, warum, wieso. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 02. Java was, wann, warum, wieso. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 02 Java was, wann, warum, wieso Java, eine objektorientierte Programmiersprache Java ist eine objektorientierte Programmiersprache und als solche ein eingetragenes Warenzeichen der Firma Sun Microsystems.

Mehr

Grundlagen der Programmierung UE

Grundlagen der Programmierung UE Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, R. Wolfinger 1 Vortragende Dr. Herbert Praehofer (G1 u. G2) Mag. Reinhard Wolfinger (G3 u. G4) Institute for System Software

Mehr

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java.  Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Programmiersprachen, Übersicht 2 Quelle: heise.de W. Geiger, W. Süß, T. Schlachter, C.

Mehr

Grundlagen der Programmierung UE

Grundlagen der Programmierung UE Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, M Löberbauer 1 Vortragende Dipl.-Ing. Markus Löberbauer (G1) Dr. Herbert Praehofer (G2 u. G3) Institute for System Software

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

Mehr

Programmierkurs. Manfred Jackel

Programmierkurs. Manfred Jackel Java für Anfänger Teil 1: Intro Programmierkurs 12.-16.10.2009 10 2009 Manfred Jackel 1 1. Handwerkszeug Notwendige Software Java Runtime Environment JRE 6 von http://java.sun.com/javase/downloads/index.js

Mehr

Praktische Informatik 1

Praktische Informatik 1 Praktische Informatik 1 Imperative Programmierung und Objektorientierung Karsten Hölscher und Jan Peleska Wintersemester 2011/2012 Session 2 Programmierung Begriffe C/C++ Compiler: übersetzt Quellcode

Mehr

Einführung in die Programmierung mit Java

Einführung in die Programmierung mit Java Einführung in die Programmierung mit Java Martin Wirsing 2 Ziele Geschichte der OO-Programmiersprachen Warum Java als Programmiersprache verwenden? Ein einfaches Java-Programm erstellen, übersetzen und

Mehr

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

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

Mehr

Philipp Güttler Objektorientierung und komplexe Datentypen

Philipp Güttler Objektorientierung und komplexe Datentypen Philipp Güttler 23.04.2008 Objektorientierung und komplexe Datentypen Seite 2 Was bedeutet objekt-orientiert? Programmierung ist die Umsetzung von Sachverhalten und Aufgaben Zusammenfassen und Aufteilen

Mehr

Einführung in JAVA. Viele Höhen und Tiefen Java war schon einmal nahezu tot. Heute extrem weit verbreitet vom Supercomputer bis hin zum Handy.

Einführung in JAVA. Viele Höhen und Tiefen Java war schon einmal nahezu tot. Heute extrem weit verbreitet vom Supercomputer bis hin zum Handy. Small History Machine Virtual Machine (VM) Komponenten der VM Entwicklungswerkzeuge JDK Woher bekommt man JDK Wie installiert man JDK Wie benutzt man JDK Entwicklungsumgebungen Java 23. May 1995: John

Mehr

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen

Mehr

Einführung zu den Übungen aus Softwareentwicklung 1

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

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Vorkurs Informatik WiSe 15/16

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

Mehr

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

Mehr

Java - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue

Java - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue Java - Einführung in die Programmiersprache Leibniz Universität Anja Aue Handbücher am RRZN Programmierung. Java: Grundlagen und Einführung Java: Fortgeschrittene Techniken und APIs Java und XML Java -

Mehr

Java für Anfänger Teil 1: Intro. Programmierkurs 11.-15.10.2010 Manfred Jackel

Java für Anfänger Teil 1: Intro. Programmierkurs 11.-15.10.2010 Manfred Jackel Java für Anfänger Teil 1: Intro Programmierkurs 11.-15.10.2010 Manfred Jackel 1 1. Handwerkszeug Eclipse Workbench mit Java-Compiler Java Runtime Environment Notwendige Software Java Runtime Environment

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 21. Oktober 2015 Entstehung von Java 1991 entwickeln Mike Sheridan, James

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Java-Einführungskurs Informatik II (D-ITET) Vincent Becker,

Java-Einführungskurs Informatik II (D-ITET) Vincent Becker, Java-Einführungskurs Informatik II (D-ITET) Vincent Becker, vincent.becker@inf.ethz.ch Was haben wir heute vor? Vorbereitung auf die Übungen zu Informatik II Vorstellung des Teams Organisatorisches Theorie

Mehr

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL3 Folie 1 Grundlagen Software steuert Computersysteme

Mehr

Liste Programmieren Java Überblick

Liste Programmieren Java Überblick Liste Programmieren Java Überblick 1 Was ist Java? 2 Klassen und Objekte 3 Vererbung 4 Schnittstellen 5 Innere Klassen 6 Exceptions 7 Funktionsbibliothek 8 Datenstrukturen und Algorithmen 9 Ein-/Ausgabe

Mehr

Abschnitt 1: Einführung

Abschnitt 1: Einführung Abschnitt 1: Einführung 1. Einführung 1.1 Historischer Überblick: Objektorientierte Programmiersprachen 1.2 Java Erste Schritte 1.3 Kommentare in Java 1 Einführung Informatik 2 (SS 07) 10 Überblick 1.

Mehr

Empfehlenswerte Literatur

Empfehlenswerte Literatur Empfehlenswerte Literatur 1 Flanagan, David: Java in a Nutshell, O Reilly, UK, 2002 (50 ) Online Referenzen unter http://www.wi3.uni-erlangen.de/lehre/ http://java.sun.com http://www.javaworld.com/ Online

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen

Mehr

Praxis der Programmierung

Praxis der Programmierung Template-Funktionen und -Klassen Einführung in Java Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn 1 Template-Funktionen 2 Minimumfunktion und offene Typen Aufruf

Mehr

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen Klassenvariablen Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit aller Studentenobjekte.

Mehr

Vorlesung Informatik II

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

Mehr

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 - 1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1 - 1.

Mehr

CS1005 Objektorientierte Programmierung

CS1005 Objektorientierte Programmierung CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Allgemeines Java-Programme erstellen und ausführen Seite 1 Allgemeines Dozenten Dr. Th. Letschert Dr. Andreas Dominik Tutoren Lernziel

Mehr

Java: Der Einstieg. Algorithmen und Datenstrukturen II 1

Java: Der Einstieg. Algorithmen und Datenstrukturen II 1 Java: Der Einstieg Algorithmen und Datenstrukturen II 1 Grundlegendes zu Java: Historisches 1990-1991: Entwicklung der Programmiersprache OAK durch James Gosling von Sun Microsystems (zunächst für Toaster,

Mehr

Erste Schritte in Java

Erste Schritte in Java Erste Schritte in Java Im einführenden Kapitel haben wir die Grundbegriffe der imperativen Programmierung an einem Beispiel (Algorithmus von Euklid) kennengelernt. In diesem Kapitel sehen wir uns an einem

Mehr

JAVA als erste Programmiersprache Semesterkurs

JAVA als erste Programmiersprache Semesterkurs JAVA als erste Programmiersprache Semesterkurs 0 - Einstieg WS 2012 / 2013 Prof. Dr. Bodo Kraft Prof. Dr. Bodo Kraft FH Aachen University of Applied Sciences Fachbereich Medizintechnik und Technomathematik

Mehr

Klassenmethoden. Klassenvariablen. Für das Auslesen des Studentenzählers definieren wir eine öffentliche Klassenmethode:

Klassenmethoden. Klassenvariablen. Für das Auslesen des Studentenzählers definieren wir eine öffentliche Klassenmethode: Klassenvariablen Klassenmethoden Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit

Mehr

Einführung in die Programmiersprache Java II

Einführung in die Programmiersprache Java II Einführung in die Programmiersprache Java II ??????????? UML OOP "Object oriented programming is bad" - professional retard 90s... UML Entwicklungsziele verschiedenen existierenden objektorienten Modellierungsmethoden

Mehr

Programmieren lernen mit Groovy Allgemeines Programme und ihre Ausführung

Programmieren lernen mit Groovy Allgemeines Programme und ihre Ausführung Programmieren lernen mit Groovy Allgemeines Programme und ihre Ausführung Seite 1 Allgemeines Dozent Dr. Th. Letschert Lernziel Einführung in die Software-Entwicklung und Programmierung Kenntnisse einer

Mehr

JAVA. Ein kurzer Überblick. Thomas Karp

JAVA. Ein kurzer Überblick. Thomas Karp JAVA Ein kurzer Überblick Thomas Karp WAS IST JAVA? Java ist eine fast rein objektorientierte Sprache nicht JavaScript eine professionelle Sprache eine im Unterricht weit verbreitete Sprache für verschiedene

Mehr

Programmierkurs Java. Grundlagen. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.

Programmierkurs Java. Grundlagen. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck. Programmierkurs Java Grundlagen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Algorithmen, Maschinen- und Programmiersprachen Algorithmen

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Speicherverwaltung und Parameterübergabe Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Gültigkeitsbereich von

Mehr

Informatik II. Woche 13, Giuseppe Accaputo

Informatik II. Woche 13, Giuseppe Accaputo Informatik II Woche 13, 30.03.2017 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Nachbesprechung Self-Assessment Test Nachbesprechung Übung 5 Java: Objektorientierte Programmierung Klassen und Objekte

Mehr

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent

Mehr

Erste Schritte in Java

Erste Schritte in Java Erste Schritte in Java In diesem Kapitel werden wir an einem kleinen Beispiel wichtige Grundbegriffe der objektorientierten Programmierung kennenlernen. Wir wollen ein Programm schreiben, das in der Lage

Mehr

Programmentwicklung ohne BlueJ

Programmentwicklung ohne BlueJ Objektorientierte Programmierung in - Eine praxisnahe Einführung mit Bluej Programmentwicklung BlueJ 1.0 Ein BlueJ-Projekt Ein BlueJ-Projekt ist der Inhalt eines Verzeichnisses. das Projektname heißt wie

Mehr

Objektorientierte Programmierung und Klassen

Objektorientierte Programmierung und Klassen Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 16.5.07 G. Bohlender (IANM UNI Karlsruhe) OOP

Mehr

Assembler - Einleitung

Assembler - Einleitung Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 39 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 39 1 Überblick:

Mehr

Überblick. 5 Java. Insel Indonesiens. (126 650 km 2, 65 Mill. Einw.) amerikanischer Slang für Kaffee (" Betriebsstoff der Java-Programmierer")

Überblick. 5 Java. Insel Indonesiens. (126 650 km 2, 65 Mill. Einw.) amerikanischer Slang für Kaffee ( Betriebsstoff der Java-Programmierer) Überblick 5 Java 5.1 Interpretation und Übersetzung von Programmen 5.2 Java als objekt-orientierte Programmiersprache 5.3 Ein erstes Java-Beispiel 5.4 Java Syntaxkonstrukte 5.5 Elementare Java-Klassen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 25 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 25 1 Die Philosophie 2 Definition

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II AG Praktische Informatik Technische Fakultät Vorlesung Sommer 2009 Teil I Java: Der Einstieg Grundlegendes zu Java: Historisches 1990-1991: Entwicklung der Programmiersprache

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Java: Eine Übersicht. Dennis Giffhorn. Lehrstuhl für Programmierparadigmen Universität Karlsruhe

Java: Eine Übersicht. Dennis Giffhorn. Lehrstuhl für Programmierparadigmen Universität Karlsruhe Java: Eine Übersicht Dennis Giffhorn Lehrstuhl für Programmierparadigmen Universität Karlsruhe Allgemeines Objektorientiert Syntaxfamilie von C/C++ Statisch getypt Entwickelt von Sun Microsystems class

Mehr

Java Programmierung auf der Konsole / unter Eclipse

Java Programmierung auf der Konsole / unter Eclipse Fakultät Informatik, HFU Brückenkurs Programmieren 1 Java Programmierung auf der Konsole / unter Eclipse Allgemeine Begriffe Programmiersprache: künstliche Sprache zur Notation von Programmen Programm:

Mehr

4. Objektorientierte Programmierung mit C++

4. Objektorientierte Programmierung mit C++ 4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung/ Sprachfamilie Nicht objektorientierte Erweiterungen von C Grundlagen des Typkonzepts von C++ Ziele der Objektorientierung Objekt

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen 5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden

Mehr

Javakurs 2013 Objektorientierung

Javakurs 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

Mehr

Tag 7 Repetitorium Informatik (Java)

Tag 7 Repetitorium Informatik (Java) Tag 7 Repetitorium Informatik (Java) Dozent: Patrick Kreutzer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium

Mehr

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4 Inhaltsverzeichnis TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA... 1 1 GRUNDLAGEN DER PROGRAMMIERUNG... 4 1.1 Das erste Java-Programm... 4 1.2 Programme und ihre Abläufe... 6 1.3 Entwurf mit Nassi-Shneiderman-Diagrammen...

Mehr

Klassenvariablen, Klassenmethoden

Klassenvariablen, Klassenmethoden Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:

Mehr

Microsoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber

Microsoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber Microsoft.NET Framework & Component Object Model ein Vortrag von Florian Steuber Übersicht I..NET Framework 1. Was ist das.net Framework? 2. Das.NET Execution Model 3. Sprachunabhängigkeit, CTS und CLS

Mehr

- dynamisches Laden -

- dynamisches Laden - - - Fachbereich Technik Department Elektrotechnik und Informatik 21. Juni 2012 1/23 2/23 s dynamisch Code kann von mehreren Programmen genutzt werden => kleinere Programme einzelne Teile eines Programms

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 31. März 2009, c 2009 D.Rösner

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte

Mehr

Die Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp

Die Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013.

Informatik. Studiengang Chemische Technologie. Michael Roth Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013. Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VIII Einstieg in Java II Michael Roth (h_da) Informatik

Mehr

Allgemeines - Prinzipien

Allgemeines - Prinzipien OOP - Prinzipien Allgemeines - Prinzipien OO modelliert die reale Welt als System interagierender Objekte Objekt = gedankliche oder reale Einheit in der Umwelt und/oder in Software Klar definierte Schnittstellen

Mehr

Grundlagen der OO- Programmierung in C#

Grundlagen der OO- Programmierung in C# Grundlagen der OO- Programmierung in C# Technische Grundlagen 1 Dr. Beatrice Amrhein Überblick Visual Studio: Editor und Debugging Die Datentypen Methoden in C# Die Speicherverwaltung 2 Visual Studio 3

Mehr

Programmieren in Java

Programmieren in Java Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware

Mehr

C# im Vergleich zu Java

C# im Vergleich zu Java C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung

Mehr

Algorithmen und Datenstrukturen 06

Algorithmen und Datenstrukturen 06 31. Mai 2012 1 Besprechung Blatt 5 Fragen 2 Objektorientierte Programmierung Allgemein Sichtbarkeit Konstanten 3 Unified Modeling Language (UML) Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung

Mehr

Einführung in die Programmierung 1

Einführung in die Programmierung 1 Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener

Mehr

Praktikum Compilerbau Sitzung 9 Java Bytecode

Praktikum Compilerbau Sitzung 9 Java Bytecode Praktikum Compilerbau Sitzung 9 Java Bytecode Prof. Dr.-Ing. Gregor Snelting Matthias Braun und Sebastian Buchwald IPD Snelting, Lehrstuhl für Programmierparadigmen KIT Universität des Landes Baden-Württemberg

Mehr

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 - ! 1. Grundelemente der Programmierung! 2. Objekte, Klassen und Methoden! 3. Rekursion und dynamische Datenstrukturen! 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1

Mehr

::Zweck. Sicherstellung, dass nur eine Instanz einer bestimmten Klasse existiert

::Zweck. Sicherstellung, dass nur eine Instanz einer bestimmten Klasse existiert ::Singleton ::Index Zweck & Motivation Anwendbarkeit Struktur Teilnehmer & Interaktionen Konsequenzen Implementierung Verwendung Verwandte Muster Erzeugungsmuster Glossar ::Zweck Sicherstellung, dass nur

Mehr

AuD-Tafelübung T-B5b

AuD-Tafelübung T-B5b 6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit

Mehr

Java Concurrency Utilities

Java Concurrency Utilities Java Concurrency Utilities Java unterstützt seit Java 1.0 Multithreading Java unterstützt das Monitorkonzept mittels der Schlüsselworte synchronized und volatile sowie den java.lang.object Methoden wait(),

Mehr

Grundlagen der Informatik Übungen 1.Termin

Grundlagen der Informatik Übungen 1.Termin Grundlagen der Informatik Übungen 1.Termin Dr. Ing Natalia Currle-Linde Institut für Höchstleistungsrechnen 1 Kurzvorstellung Dr.-Ing. Natalia Currle-Linde linde@hlrs.de Institut für Höchstleistungsrechnen

Mehr

Algorithmen versus Programmiersprachen

Algorithmen versus Programmiersprachen Coma I Einleitung Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen

Mehr

3 Objektorientierte Konzepte in Java

3 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

Mehr

14. Java Klassen. Klassen (Java) vs. Records (Pascal) Klassen - Konzeptuell. Klassen - Technisch

14. Java Klassen. Klassen (Java) vs. Records (Pascal) Klassen - Konzeptuell. Klassen - Technisch Klassen (Java) vs. Records (Pascal) 14. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung Pascal RECORDs in Pascal sind reine

Mehr

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen

Mehr

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public

Mehr