4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen



Ähnliche Dokumente
Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

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

Testen mit JUnit. Motivation

Zählen von Objekten einer bestimmten Klasse

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

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

ObjectBridge Java Edition

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Einführung in die C++ Programmierung für Ingenieure

Objektorientierte Programmierung

C# im Vergleich zu Java

Computeranwendung und Programmierung (CuP)

Einführung in Javadoc

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

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Proseminar C-Programmierung. Strukturen. Von Marcel Lebek

Vorkurs C++ Programmierung

Grundlagen von Python

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

2015 conject all rights reserved

Tutorium Informatik 1. Aufgabe 2: Formatierte Ein- und Ausgabe

Lehrer: Einschreibemethoden

Einführung in die Programmierung

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Numerische Datentypen. Simon Weidmann

Die Programmiersprache C99: Zusammenfassung

Applets I. Grundlagen der g Applet-Programmierung

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

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

J.5 Die Java Virtual Machine

Vorlesung Informatik II

Modellierung und Programmierung 1

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

Fakultät Angewandte Informatik Lehrprofessur für Informatik

CADEMIA: Einrichtung Ihres Computers unter Mac OS X

Java Virtual Machine (JVM) Bytecode

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu)

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

10 Erweiterung und Portierung

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

Einführung in Eclipse und Java

Modellierung und Programmierung 1

Java für C++ Programmierer

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

Präsentation Von Laura Baake und Janina Schwemer

Klassenbeziehungen & Vererbung

Übung: Verwendung von Java-Threads

Einführung in die Programmierung

Programmieren in Java

Factory Method (Virtual Constructor)

IPETRONIK TESTdrive SDK V02.00

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

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

Datentypen: Enum, Array, Struct, Union

Objektorientierte Programmierung

Buddy - Algorithmus Handbuch für Endnutzer Stand

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Dokumentation Schedulingverfahren

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

Internet online Update (Mozilla Firefox)

Dokumentenverwaltung im Internet

Internet Explorer Version 6

Zum Lesen von News-Feeds unter Windows bieten sich diverse kostenlose bzw. kostenpflichtige Feed-Reader an:

MS Outlook Integration

1. Java Grundbegriffe

Einführung in die Programmierung (EPR)

Referenzen TYPO3 Projekt Slider für Reiseberichte Stand: Februar 2015

Anbindung des eibport an das Internet

Programmieren für Ingenieure Sommer Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.

Objektorientierte Softwareentwicklung SoSe 15

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

Worum geht es in diesem Projekt?

Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 12.Übung bis

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Deklarationen in C. Prof. Dr. Margarita Esponda

S7-Hantierungsbausteine für R355, R6000 und R2700

1 Vom Problem zum Programm

Tragen Sie bitte im Anmeldefeld die Daten ein, die Sie von uns erhalten haben.

6 Jahresanfang Saldenvorträge

Programmieren in Haskell Einführung

Dokumentation IBIS Monitor

e-books aus der EBL-Datenbank

Einführung in die Java- Programmierung

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Schrittweise Anleitung zur Abholung von Zertifikaten der Bayerischen Versorgungskammer mit Safari unter Mac

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

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

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Mastermind. Testplan. Hochschule Luzern Technik & Architektur. Programmieren 2 FS12. Gruppe 10

SMS/ MMS Multimedia Center

Xesar. Die vielfältige Sicherheitslösung

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Arbeiten mit UMLed und Delphi

WICHTIGER HINWEIS FÜR HÄNDLER UND SERVICE-WERKSTÄTTEN:

- Installieren Sie den AC WLAN fachgerecht und lagerichtig (Einbauhöhe 0,3 1,3 m) gemäß Montageanleitung.

CORBA. Systemprogrammierung WS

Transkript:

4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen Highlights: objektorientierte Sprache Plattformunabhängigkeit bei Hardware und Betriebssystem optimale Einbindung im Internet und Intranet sprachliche Nähe zu C++

Historie: 1991 Ingenieure bei Sun Microsystems zu Integration verteilter Informationstechnologie in elektronischen Geräten: Green Project unter James Gosling zu Grundanforderungen wie Zuverlässigkeit, Bedienbarkeit, Sicherheit... Erweiterung der benutzten C++ Compiler Erkenntnis: unpassend Folge: Green Team Softwaresystem für elektronische Verbrauchergeräte zu entwickeln, Name Oak (später aus urheberrechtlichen Gründen in Java umbenannt)

Historie: 4.1 Java-Grundlagen Herbst 92 Patrick Naughton präsentiert System *7 (starseven), in Oak geschrieben, sollte Betriebssystem mit Programmiersprache und Entwicklungsumgebung für neue Hardwareplattformen sein dann Stagnation, aber 1994 WWW war etabliert Naughton und Jonathan Payne mit Idee, einen Web-Browser in Java zu schreiben Java entwickelt für architektur-neutrale, echtzeitfähige, zuverlässige und sichere Client/Server - Anwendungen

Historie: 4.1 Java-Grundlagen Java entwickelt für architektur-neutrale, echtzeitfähige, zuverlässige und sichere Client/Server Anwendungen ideal als Werkzeug für die Programmierung im WWW Folge: Arbeit an Web-Runner-Browser,später in Hot-Java umbenannt, begann Java wurde selbst noch einmal neu in Java geschrieben (offiziell auf der SunWorld95 im Mai 95 vorgestellt, mit der kostenlosen Verfügbarkeit aus dem Internet java.sun.com) der DURCHBRUCH

Objektorientiert: Klassen, die Daten und Methoden(Verhalten) enthalten Klasse als Schablone, aus der viele Objekte generiert werden können Datenkapselung (Einzel-) Vererbung Schnittstellen können implementiert werden

Verteilt: Pakete = packages, Modularität Funktionen für den Netzwerkzugriff integriert (http, FTP) Aufruf über mitgelieferte Bibliotheken, ähnlich den Header-Dateien

Robust: Überprüfungsroutinen (beim Compilieren und Ausführen) dadurch auch Vermeidung von Laufzeitfehlern in Anwendungen Speichermanagement nicht dem Entwickler überlassen, wird über die JVM (Java Virtual Machine) realisiert

Robust: keine Pointerarithmetik, direkte Adressierung über Pointer nicht möglich Integer kann nicht zum Pointer gecastet werden (geringere Fehleranfälligkeit beim Programmieren) if(object!= null) notwendig, if(object) geht nicht, nur wenn object boolean wäre

Sicher: geladener Code entspricht den Java-Regeln wird beim Laden über das Netz nicht manipuliert Schutz vor potentiellen Viren, da nicht Compiler, sondern hardwareabhängiges Runtime-System kein Zugriff auf physikalischen Speicherplatz keine Manipulationen

Sicher: lokaler Code kann nicht durch importierten Code überschrieben werden keine Möglichkeit für Java-Anwendungen, direkt auf Systemressourcen zuzugreifen private bleibt private, anders in C++: #define private public vor dem ersten include

Architekturunabhängig: auf jeder Hardware- und Betriebssystemplattform lauffähig Compiler produziert keine maschinenspezifischen Instruktionen, sonder einen neutralen Byte Code Byte Code wird über einen Java Interpreter auf jeder Plattform ausgeführt oder von einem Just-in-Time-Compiler beim Start der Anwendung übersetzt

Portabel: Größe der Basisdatentypen unabhängig von der Prozessorarchitektur (nicht C++ int) Einfache Datentypen: bool Wahrheitswert 1 Byte true / false byte ganzzahlig 1 Byte -128.. +127 short ganzzahlig 2 Byte -32768... +32767 int ganzzahlig 4 Byte -2,14 *10 9... +2,14 *10 9 long ganzzahlig 8 Byte -9,22 *10 18... +9,22 *10 18 float Fließkomma 4 Byte +/- 3,40 *10 +/-38 double Fließkomma 8 Byte +/- 1,80 *10 +/-308 char Unicode 2 Byte incl. ASCII

Multithreaded: 4.1 Java-Grundlagen Threads = parallele Ablaufpfade in einem Programm, die gleichzeitig ausgeführt werden erlaubt z.b. Darstellung von Animationen und gleichzeitiges Abspielen von Musik, während eine Internetseite gescrollt wird Threads = Klasse, aus denen neue Thread-Objekte generiert werden können Methoden zum Starten, Ausführen und Anhalten von Threads, Abfrage des Thread-Zustandes Echtzeitfähigkeit

Garbage Collection (Speicherplatz-Management): keine Gedanken über Speicherplatzbelegung seines Byte-Codes Programmierer müssen nicht permanent Speicher freigeben malloc() und free() fehlen Speicher wird freigegeben, wenn Objekte nicht mehr referenziert werden

Dynamisch: Objekt-Klassen werden zur Laufzeit von Java- Anwendungen referenziert diese können jederzeit verändert werden JDK: Java Developement Kit (bzw. neu SDK) kostenlos zu beziehen über http://java.sun.com