Java: Der Einstieg. Algorithmen und Datenstrukturen II 1
|
|
- Richard Waldfogel
- vor 7 Jahren
- Abrufe
Transkript
1 Java: Der Einstieg Algorithmen und Datenstrukturen II 1
2 Grundlegendes zu Java: Historisches : Entwicklung der Programmiersprache OAK durch James Gosling von Sun Microsystems (zunächst für Toaster, Mikrowellen etc.; unabhängig vom Chip, extrem zuverlässig) Umbenennung in Java 1995: α und β Release von IBM, SGI, Oracle und Microsoft lizensiert Algorithmen und Datenstrukturen II 2
3 Grundlegendes zu Java: Eigenschaften durch den Bytecode (Zwischensprachencode) unabhängig von der Plattform Syntax an C und C++ angelehnt objektorientiert streng typisiert unterstützt parallele Abläufe (Nebenläufigkeit / Threads) Graphical User Interface (GUI) netzwerkfähig modularer Aufbau Nachteil: Effizienz leidet (ca. 5 10mal langsamer als C und C++) Algorithmen und Datenstrukturen II 3
4 Anwendungen Selbstständig laufende Anwendung Quellprogramm Java-Compiler Java-Bytecode auf dem Server Java-Interpreter Ablauf des Programms Algorithmen und Datenstrukturen II 4
5 Applets Applet Quellprogramm Java-Compiler Java-Bytecode auf dem Server per Internet Übertragung Bytecodes auf dem Rechner des Benutzers (Client) Java-Interpreter im Browser oder Applet-Viewer Ablauf des Programms Algorithmen und Datenstrukturen II 5
6 Sicherheit keine Pointerarithmetik wie in C Garbage Collection a Überprüfungen zur Laufzeit (Datentypen, Indizes, etc.) durch Mechanismen zur Verifizierung von Java-Bytecode bei der Übertragung dennoch ist die (Netz-)Sicherheit umstritten a Ein Garbage Collector entfernt automatisch Objekte, Felder und Variablen, auf die keine Referenz mehr vorhanden ist, aus dem Speicher (siehe Arnold & Gosling [1], S. 12, Kapitel 1.6). Algorithmen und Datenstrukturen II 6
7 Erstellen eines Java-Programms 1. Quellprogramm erstellen: class Hello { public static void main(string[] args) { System.out.println("Hello World"); } } 2. Übersetzen eines Programms: > javac Hello.java 3. Interpretation des Bytecodes: > java Hello Algorithmen und Datenstrukturen II 7
8 Grundzüge imperativer Sprachen Algorithmen und Datenstrukturen II 8
9 Das Behältermodell der Variablen Imperative Programmierung geht aus vom Modell eines Speichers, aufgegliedert in einzelne Variablen, in denen Werte abgelegt werden können. Der Speicher bzw. die Variablen werden verändert durch Befehle bzw. Anweisungen, die selbst vom aktuellen Speicherinhalt abhängen. Ein typisches Beispiel ist die Anweisung x = y + z. Sie bedeutet: Addiere die Variableninhalte von y und z und lege die Summe in der Variablen x ab. Algorithmen und Datenstrukturen II 9
10 Seiteneffekte nicht nur der Variableninhalt von x kann sich ändern, sondern auch der von y und z sowie aller möglicher anderer Variablen; falls x y oder y z, dann ist dies unmittelbar einsichtig. Also ist x = y + z keine Gleichheit, die zwischen den Werten (Inhalten) von x, y und z gilt, und mittels der wir über Programme nachdenken und Beweise führen können. Das Prinzip der referential transparency (Werttreue), das in der funktionalen Programmierung gilt, ist in der imperativen verletzt. Algorithmen und Datenstrukturen II 10
11 Konsequenzen 1. Der Nachweis von Programmeigenschaften wird viel schwieriger, ebenso das Verstehen von Programmen. 2. Die Semantik eines Programms hängt von einem strikten Nacheinander der Ausführung der einzelnen Anweisungen ab. 3. Wiederverwendung von Programmteilen in anderem Kontext bedarf besonderer Vorsicht. Algorithmen und Datenstrukturen II 11
12 Klassen, Objekte und Methoden im Überblick Java-Programme werden aus Klassen aufgebaut. Aus einer Klassendefinition lassen sich beliebig viele Objekte erzeugen, die auch Instanzen genannt werden (vgl. Arnold & Gosling [1], Kapitel 1.6 und 1.7). Eine Klasse enthält folgende Bestandteile: Objektvariablen (objektbezogene Datenfelder) objektbezogene Methoden Klassenvariablen (klassenbezogene Datenfelder) klassenbezogene Methoden Datenfelder (Synonym: Attribute) enthalten den Zustand des Objektes oder der Klasse. Methoden sind Sammlungen von imperativ formulierten Anweisungen, die auf den Datenfeldern operieren, um deren Zustand zu ändern. Algorithmen und Datenstrukturen II 12
13 Klassen Beispiel der Deklaration einer einfachen Klasse: class Point { double x, y; } Algorithmen und Datenstrukturen II 13
14 Das Erzeugen von Objekten Objekte werden mit dem Schlüsselwort new erzeugt. Neu geschaffene Objekte bekommen innerhalb eines Bereiches des Speichers (welcher Heap genannt wird) einen Speicherplatz zugewiesen und werden dort abgelegt. Auf alle Objekte in Java wird über Objektreferenzen zugegriffen jede Variable, die ein Objekt zu enthalten scheint, enthält tatsächlich eine Referenz auf dieses Objekt (bzw. auf deren Speicherplatz). Objektreferenzen haben den Wert null, wenn sie sich auf kein Objekt beziehen. Wir werden im folgenden Objekte und Objektreferenzen synonym verwenden, es sei denn, die Unterscheidung ist wichtig. Algorithmen und Datenstrukturen II 14
15 Erzeugung und Initialisierung Point lowerleft = new Point(); Point upperright = new Point(); Wertzuweisung lowerleft.x = 0.0; lowerleft.y = 0.0; upperright.x = ; upperright.y = ; Algorithmen und Datenstrukturen II 15
16 Klassenvariablen class Point { double x, y; static Point origin = new Point(); } static final Point origin = new Point(); Algorithmen und Datenstrukturen II 16
17 Methoden Eine Methode ist eine Funktion bzw. Prozedur. Sie kann parameterlos sein oder Parameter haben. Sie kann einen Rückgabewert liefern oder als void deklariert sein, wenn sie keinen Wert zurückliefert. Methoden dürfen nicht geschachtelt werden. Innerhalb von Methoden dürfen lokale Variablen deklariert werden. class Point { double x, y; } void clear() { x = 0.0; y = 0.0; } Algorithmen und Datenstrukturen II 17
18 Um eine Methode aufzurufen, gibt man ein Objekt und den Methodennamen, getrennt durch einen Punkt, an. lowerleft.clear(); upperright.clear(); Algorithmen und Datenstrukturen II 18
19 Methode distance double distance(point p) { double xdiff, ydiff; // Beispiel fuer lokale Variablen xdiff = x - p.x; ydiff = y - p.y; return Math.sqrt(xdiff*xdiff + ydiff*ydiff); } Aufruf: double d = lowerleft.distance(upperright); Algorithmen und Datenstrukturen II 19
20 Klassenbezogene Methoden Klassenbezogene Methoden werden durch das Schlüsselwort static deklariert, z.b. ist Math.sqrt() eine Klassenmethode der vordefinierten Klasse Math distance als Klassenmethode static double distance(point p1, Point p2) { double xdiff = p1.x - p2.x; double ydiff = p1.y - p2.y; return Math.sqrt(xdiff*xdiff + ydiff*ydiff); } Aufruf: double d = Point.distance(lowerLeft, upperright); Algorithmen und Datenstrukturen II 20
21 Vererbung, Pakete und Gültigkeitsbereiche Algorithmen und Datenstrukturen II 21
22 Vererbung Klassen in Java können um zusätzliche Variablen und Methoden erweitert werden. Dies wird durch das Schlüsselwort extends angezeigt. Die entstehende Unterklasse besitzt dann alle Eigenschaften der Oberklasse und zusätzlich die in der jeweiligen Erweiterung angegebenen Eigenschaften. Dieses Konzept wird auch als Vererbung bezeichnet, weil die Unterklasse alle Eigenschaften der Oberklasse erbt. Zum Beispiel ist ein farbiger Punkt eine Erweiterung eines Punktes: class ColoredPoint extends Point { String color; } Algorithmen und Datenstrukturen II 22
23 Pakete Bei größeren Softwareprojekten ist es häufig ratsam, diese in verschiedene, unabhängige Teile aufzuteilen. Solche Teile werden als Module oder Pakete bezeichnet. Java besitzt einige Eigenschaften, die es erlauben, Software modular aufzubauen: Verschiedene (i.d.r. logisch zusammengehörige) Klassen können in einem Paket zusammengefasst werden. Die Klassendefinitionen können in verschiedenen Dateien enthalten sein. Algorithmen und Datenstrukturen II 23
24 Der Paketname muss im Header jeder Datei angegeben sein: A.java C.java package abc; package abc; public class A { class C { } } class B {... } import abc.a; class test { A a; } Algorithmen und Datenstrukturen II 24
25 Gültigkeitsbereiche public default (package) protected private zugreifbar für Nicht-Unterklassen im selben Paket zugreifbar für Unterklassen im selben Paket zugreifbar für Nicht-Unterklassen in einem anderen Paket zugreifbar für Unterklassen in einem anderen Paket ja ja ja nein ja ja ja nein ja nein nein nein ja nein ja nein Algorithmen und Datenstrukturen II 25
26 Literatur [1] K. Arnold, J. Gosling: Java T M - Die Programmiersprache. Addison-Wesley, [2] T.H. Cormen, C.E. Leierson, R.L. Rivest: Introduction to Algorithms. MIT Press, [3] D. Flanagan: Java in a Nutshell. O Reilly & Associates Inc., [4] F. Jobst: Programmieren in Java. Hanser Verlag, [5] H. Klaeren: Vom Problem zum Programm. 2.Auflage, B.G. Teubner Verlag, [6] K. Echtle, M. Goedicke: Lehrbuch der Programmierung mit Java. dpunkt-verlag, 2000.
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,
MehrAlgorithmen 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
MehrKapitel 2. Java: Der Einstieg. 2.1 Grundlegendes zu Java. 2.1.1 Historisches. 2.1.2 Eigenschaften von Java
Kapitel 2 Java: Der Einstieg Im vorigen Kapitel haben wir die Syntax der Sprache Mini-Java kennengelernt. Bevor wir in Kapitel 3 ausführlich auf Syntax und Semantik der Programmiersprache Java eingehen
MehrRepetitorium 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
MehrJava Einführung Klassendefinitionen
Java Einführung Klassendefinitionen Inhalt dieser Einheit Java-Syntax Klassen definieren Objekte instanziieren Instanzvariable deklarieren Klassenvariable deklarieren 2 Klassen definieren In der Problemanalyse
MehrProgrammieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik
Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen
MehrNeben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
MehrJava Einführung Methoden in Klassen
Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding
MehrSilke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: hat Farbe Hubraum Tank kann man Gas geben Bremsen Hoch
MehrInstitut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen
MehrEinstieg 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
MehrEinstieg 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:
MehrObjektorientierte 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
MehrJavakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren
MehrÜbergang von funktionaler zu OOP. Algorithmen und Datenstrukturen II 1
Übergang von funktionaler zu OOP Algorithmen und Datenstrukturen II 1 Imperative vs. funktionale Programmierung Plakativ lassen sich folgende Aussagen treffen: funktional: imperativ: Berechnung von Werten
MehrMethoden 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
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:
MehrVererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1
MehrPropädeutikum Programmierung in der Bioinformatik
Propädeutikum Programmierung in der Bioinformatik Java Klassen und Objekte Thomas Mauermeier 27.11.2018 Ludwig-Maximilians-Universität München Rückblick Imperative Programmierung Variablen Fallunterscheidungen
MehrSilke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode
Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode
MehrEinstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen
MehrArten von Klassen-Beziehungen
Arten von Klassen-Beziehungen Untertypbeziehung: Ersetzbarkeit Vererbung von Code aus Oberklasse irrelevant Vererbungsbeziehung: Klasse entsteht durch Abänderung anderer Klassen Ersetzbarkeit irrelevant
MehrVererbung, Polymorphie
Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08
MehrObjektorientierte 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
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II AG Praktische Informatik Technische Fakultät Vorlesung Sommer 2009 Teil I Übergang von funktionaler zu OOP Imperative vs. funktionale Programmierung Plakativ lassen sich
MehrDatenbankanwendungsprogrammierung Crashkurs Java
Datenbankanwendungsprogrammierung Crashkurs Java Denny Priebe Datenbankanwendungsprogrammierung p. Unterschiede zu C, C++ typedefs, Präprozessor Strukturen, Unions globale Funktionen Mehrfachvererbung
MehrPraxis 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
MehrJava für Bauingenieure
1 JAVA für Bauingenieure Alexander Karakas SS 2008 Objektorientierte Programmierung 30.04.2008, CIP Pool Objektorientierte Programmierung Übersicht 2 Klasse und Objekt Polymorphismus und Vererbung Klassen
MehrEinstieg in die Informatik mit Java
1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren
MehrFH 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
MehrJava Referenzdatentypen genauer betrachtet
Informatik 1 für Nebenfachstudierende Grundmodul Java Referenzdatentypen genauer betrachtet Kai-Steffen Hielscher Folienversion: 23. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Referenzdatentypen
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrTag 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
MehrJava: 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
MehrObjekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3
Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................
MehrEINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17
EINI LW/ in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de http://ls14-www.cs.tu-dortmund.de
MehrProgrammierung Nachklausurtutorium
Programmierung Nachklausurtutorium Laryssa Horn, Tim Engelhardt 20 März 2018 Klassen Wofür wir Klassen brauchen: Definieren ein Bauplan eines Objektes Bauplan enthält Attribute und Methoden Klasse Beispiel
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Klassenattribute und -methoden Bieniusa Software Entwicklung 1 2/ 23 Beispiel: Klassenattribute I class Uebungsgruppe
MehrEinführung in die Programmierung Blockkurs Java
Michael Bader 8. 12. April 2002 Dienstag Inhaltsübersicht Variablen: Membervariablen und lokale Variablen Referenzvariablen: Arrays und Objekte anlegen Definition von Funktionen: Methoden Konstruktoren
MehrHashing. Algorithmen und Datenstrukturen II 1
Hashing Algorithmen und Datenstrukturen II 1 Einführendes Beispiel Ein Pizza-Lieferservice in Bielefeld speichert die Daten seiner Kunden: Name, Vorname, Adresse und Telefonnummer Wenn ein Kunde seine
MehrKapitel 8. Programmierkurs. Methoden. 8.1 Methoden
Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08
MehrEinstieg in die Informatik mit Java
1 / 28 Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 28 1 Überblick: Variablenarten 2 Lokale Variablen 3 Lokale Variablen
MehrEinfü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
MehrImplementieren von Klassen
Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und
MehrKlassenvariablen, 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
MehrObjekte und Klassen. INE2 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert, E.
Objekte und Klassen INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? typedef struct Konto { double saldo; int id; Konto; Modul "konto" konto.h konto.c Prozedurale Programmierung:
MehrTeil 3 - Java. Grundlagen Klassen, Attribute Methoden
Teil 3 - Java Grundlagen Klassen, Attribute Methoden 1 Java 2 - Geschichte Ursprung: Green -Project bei der Firma Sun Microsystems 1991 Entwicklung eines Systems mit folgenden Eigenschaften: hardwareunabhängig
MehrKapitel 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
MehrGeschachtelte Klassen
Geschachtelte Klassen Christian Schamott 1 / 26 Übersicht Gemeinsamkeiten 4 Arten geschachtelte Klassen Elementklasse Lokale Klassen Anonyme Klassen Statisch geschachtelte Klassen Christian Schamott 2
MehrErste 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
MehrImperative Programmierung in Java. Algorithmen und Datenstrukturen II 1
Imperative Programmierung in Java Algorithmen und Datenstrukturen II 1 Mini-Java Ein Mini-Java Programm besteht aus genau einer Klasse. In dieser Klasse gibt es genau eine main-methode. Folgende Konstrukte
MehrImperative Programmierung in Java. Algorithmen und Datenstrukturen II 1
Imperative Programmierung in Java Algorithmen und Datenstrukturen II 1 Mini-Java Ein Mini-Java Programm besteht aus genau einer Klasse. In dieser Klasse gibt es genau eine main-methode. Folgende Konstrukte
MehrArten von Klassen-Beziehungen
Arten von Klassen-Beziehungen Untertypbeziehung: Ersetzbarkeit Vererbung von Code aus Oberklasse irrelevant Vererbungsbeziehung: Klasse entsteht durch Abänderung anderer Klassen Ersetzbarkeit irrelevant
MehrAlgorithmen 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
MehrProgrammieren 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
MehrEinstieg in die Informatik mit Java
1 / 18 Einstieg in die Informatik mit Java Klassenvariablen, Klassenmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 18 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden
MehrKlassen und Konstruktoren in Java
Klassen und Konstruktoren in Java class Circle { int r; Circle(int r) { this.r = r; // 1 Circle(Circle c) { this.r = c.r; // 2 Circle() { r = 1; // 3...... Circle a = new Circle(2); // Konstruktor 1 Circle
MehrKlassen mit Instanzmethoden
Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 3.12.07 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 3.12.07
MehrInhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1
Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen Prof. Dr.-Ing. H. Ney, G. Leusch, C. Plahl, D. Stein dsal06@i6.informatik.rwth-aachen.de Einführungsveranstaltungen Informatik Sommersemester 2006 Human Language Technology
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
MehrBerner 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
MehrVorkurs Informatik WiSe 16/17
Institut für Programmierung Java Objektorientierte Programmierung Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12 bis 14.10.2016 Technische Universität Braunschweig, IPS Überblick Warum OOP? OOP
MehrInstitut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke
Java 1 Markus Reschke 06.10.2014 Überblick Einführung in die Programmierung zur Vereinfachung des Einstiegs ins Studium Erstellung von ausführbaren Programmen für den Computer Denk- und Vorgehensweisen
MehrBeispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung
Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]
MehrAlgorithmen und Datenstrukturen II
Syntax und Semantik Java: Der Einstieg Imperative Programmierung in Java Algorithmen zur exakten Suche in Texten Objektori Algorithmen und Datenstrukturen II AG Praktische Informatik Technische Fakultät
MehrAlgorithmen und Programmierung II
Algorithmen und Programmierung II Vererbung Prof. Dr. Margarita Esponda SS 2012 1 Imperative Grundbestandteile Parameterübergabe String-Klasse Array-Klasse Konzepte objektorientierter Programmierung Vererbung
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen
MehrProgrammieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, Polymorphie und innere Klassen 2 Vererbung im Klassendiagramm (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Object
MehrEinführung in die Programmierung Blockkurs Java
Michael Bader 19. 25. Februar 2003 Dienstag Inhaltsübersicht Variablen: Membervariablen und lokale Variablen Referenzvariablen: Arrays und Objekte anlegen Definition von Funktionen: Methoden Konstruktoren
MehrJava Methoden. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 1. Februar 2017
Informatik 1 für Nebenfachstudierende Grundmodul Java Methoden Kai-Steffen Hielscher Folienversion: 1. Februar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht Kapitel 3 - Java
MehrProgrammieren I. Kapitel 10. Spezielle Features
Programmieren I Kapitel 10. Spezielle Features Kapitel 10: Spezielle Features Ziel: Besonderheiten von Java bei OO Konzepten statische Attribute und Methoden innere, verschachtelte und lokale Klassen anonyme
MehrTheorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
MehrDie 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,
MehrEINI WiMa/LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12
EINI WiMa/LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de
MehrEinfü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
MehrDeklaration einer Klasse Innere innerhalb Klassen einer in Ja anderen v a Klasse
Innere Klassen in Java Java 1.0: nur top-level Klassen Seit Java Version 1.1: Innere Klassen Deklaration einer Klasse innerhalb einer anderen Klasse Illustration Eigenschaften Vorteile Anwendungsmöglichkeiten
MehrFaustregeln zu Zusicherungen
Faustregeln zu Zusicherungen Zusicherungen sollen stabil sein (vor allem an Wurzel der Typhierarchie) keine unnötigen Details festlegen explizit im Programm stehen unmissverständlich formuliert sein während
MehrProgrammieren in Java
Programmieren in Java Einführung in die objektorientierte Programmierung 2 Einordnung in den Softwareentwicklungsprozess Softwareentwicklung mit JAVA Planung Entwurf Programmierung Test/Evaluation/Pflege
MehrObjektorientierung (OO)
Objektorientierung (OO) Objekte haben Zustände (oder Eigenschaften, Attribute) und Verhalten Zustände: Objektvariablen (in Java auch fields) Verhalten (oder Aktionen): Methoden (methods, Funktionen) members
MehrEinstieg in die Informatik mit Java
1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung
MehrEinführung in die Programmierung I. 10. Klassen und Objekte. Stefan Zimmer
Einführung in die Programmierung I 10. Klassen und Objekte Stefan Zimmer 14.1.2008 Objektorientierte Programmierung Ein wesentliches Prinzip in Java haben wir bisher umgangen: die objektorientierte Programmierung.
MehrObjektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
Mehr7. Übung Informatik II - Objektorientierte Programmierung
7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber
MehrVorkurs Informatik WiSe 17/18
Institut für Programmierung Java Objektorientierte Programmierung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 11. bis 13.10.2017 Technische Universität Braunschweig, IPS Warum OOP? OOP mit Java
MehrDr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund
EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 12/13 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
MehrKapitel 4: Klassen und Unterklassen
Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 4: Klassen und Unterklassen Folie 54 : Unterklassen Die Bildung von Unterklassen und das Konzept der Vererbung sind
MehrJava-Grundkurs für Wirtschaftsinformatiker
Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für Wirtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung - Fortgeschrittene Konzepte kennenlernen - Betriebswirtschaftlich
MehrVariablenarten. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java
Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 10.12.07 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 1 / 15
MehrII.4.2 Abstrakte Klassen und Interfaces - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.2 Abstrakte Klassen und Interfaces - 1
MehrEinstieg in die Informatik mit Java
1 / 17 Einstieg in die Informatik mit Java Methoden und Felder Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 17 1 Überblick 2 Felder als Parameter bei Methoden 3 Feld
MehrEINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18
EINI LogWing/ in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 17/18 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
MehrKapitel 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
MehrVorlesung 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