PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.

Slides:



Advertisements
Ähnliche Präsentationen
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Advertisements

Einführung in die Informatik: Programmierung und Software-Entwicklung
Einführung in die Programmierung Zusammenfassung
Zusammenfassung der Vorwoche
Kritische Betrachtung
PKJ 2005/1 Stefan Dissmann Vorwoche - Klasse public class Studierende { private String name, vorname, studiengang; private int matNr, semester; private.
Telefonnummer.
CPCP Institute of Clinical Pharmacology AGAH Annual Meeting, 29. Februar 2004, Berlin, Praktischer Umgang mit den Genehmigungsanträgen gemäß 12. AMG Novelle.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Objektorientierte Programmierung
Workshop zur Medienarbeit der katholischen Kirche Aspekte des Religionsmonitors Berlin, 02. April 2008.
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
= = = = 47 = 47 = 48 = =
Abstrakte Klassen HS Merseburg (FH) WS 06/07.
Java: Objektorientierte Programmierung
FH-Hof Java Packages Richard Göbel. FH-Hof Das Modulkonzept für Java Packages dienen zur Strukturierung größerer Java- Programme Ein Package kann: eigene.
Java: Grundlagen der Objektorientierung
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
Programmieren mit JAVA
Praxis-Repetitorium JAVA zusätzliche, ergänzende Lehrveranstaltung
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher bekannt: Einfache Variable Feld Vereinbarung Zuweisung Block while-Schleife Bedingte Anweisung (if) Typ.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Programm besteht aus mehreren Bestandteilen: Schlüsselwörter Sonderzeichen Bezeichner Kommentare Texte.
PKJ 2005/1 Stefan Dissmann Zusammenfassung der Vorwoche Variable stehen für (einen) Wert, der sich im Programmablauf ändern kann. Variablen besitzen einen.
Zusammenfassung Vorwoche
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Methoden sind mit einem Namen versehene Programmabschnitte besitzen Rückgabetyp, Namen, Parameterliste.
Schieferdeckarten Dach.ppt
Packages Vortrag : Cornelia Hardt 23. November 1999.
DVG Einführung in Java1 Einführung in JAVA.
DVG Klassen und Objekte
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
Applets Java für’s Web.
Entwurfs- und Implementationsdiagramme
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
CuP - Java Elfte Vorlesung Montag, 11. November 2002.
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
NEU! 1 2. Wo kommt diese Art von Rezeptor im Körper vor?
PROCAM Score Alter (Jahre)
Symmetrische Blockchiffren DES – der Data Encryption Standard
Programmbereich, zu dem eine Deklaration gehört Arten von Gültigkeitsbereichen -Namespace : Deklarationen von Klassen, Interfaces, Structs, Enums, Delegates.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
EPROG Tutorium #6 Philipp Effenberger
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Vortrag von Rechtsanwältin Verena Nedden, Fachanwältin für Steuerrecht zur Veranstaltung Wege zum bedingungslosen Grundeinkommen der Piratenpartei Rhein-Hessen.
1 Mathematical Programming Nichtlineare Programmierung.
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014 Referenzdatentypen
Es war einmal ein Haus
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Wie.
SAP Seminar 2007 Organisationsobjekte anlegen
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Java-Kurs Übung Besprechung der Hausaufgabe
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 14. Vorlesung WS 2001/2002.
Java Programme nur ein bisschen objektorientiert.
 Präsentation transkript:

PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen strukturierte Programmierung mit Schleifen und bedingten Anweisungen Methoden (auch als Funktionen) rekursive Methoden

PKJ 2005/2 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(2): Klassen Attribute und Methoden für Instanzen Zugriffsrechte Vererbung und Kompatibilität abstrakte Klassen Interfaces und Implementierung (statische) Klassenattribute und -methoden

PKJ 2005/3 Stefan Dissmann Große Strukturierungseinheiten Die ansprechbare Strukturierungseinheit in JAVA ist die Klasse

PKJ 2005/4 Stefan Dissmann Große Strukturierungseinheiten Die ansprechbare Strukturierungseinheit in JAVA ist die Klasse Bezug zum Betriebssystem: genau 1 public class je Datei

PKJ 2005/5 Stefan Dissmann Große Strukturierungseinheiten Die ansprechbare Strukturierungseinheit in JAVA-Programmen ist die Klasse Bezug zum Betriebssystem: genau 1 public class je Datei Liste.java public class Liste { … }

PKJ 2005/6 Stefan Dissmann Große Strukturierungseinheiten Die ansprechbare Strukturierungseinheit in JAVA-Programmen ist die Klasse Bezug zum Betriebssystem: genau 1 public class je Datei, da der JAVA-Compiler Klassen über Dateinamen findet Liste.java public class Liste { … }

PKJ 2005/7 Stefan Dissmann Große Strukturierungseinheiten Bis jetzt besteht also ein großes Projekt aus sehr vielen einzelnen Dateien mit JAVA-Klassen. Probleme: Finden von solchen Dateien Verbergen von solchen Dateien Zusammengehörigkeit von solchen Dateien Namenskonflikte

PKJ 2005/8 Stefan Dissmann Große Strukturierungseinheiten Bis jetzt besteht also ein großes Projekt aus sehr vielen einzelnen Dateien mit JAVA-Klassen. Probleme: Finden von solchen Dateien Verbergen von solchen Dateien Zusammengehörigkeit von solchen Dateien Namenskonflikte Lösung: Paket (als übergeordnete Struktur)

PKJ 2005/9 Stefan Dissmann Pakete Paket in JAVA entspricht Verzeichnis im Betriebssystem

PKJ 2005/10 Stefan Dissmann Pakete Paket in JAVA entspricht Verzeichnis im Betriebssystem alle Dateien (Klassen) eines Pakets werden in einem Verzeichnis abgelegt! Paket bildet eigenen Namensraum Paket dient nur der statischen Strukturierung

PKJ 2005/11 Stefan Dissmann Pakete Pakete werden implizit geschaffen: Verzeichnis anlegen JAVA-Dateien im Verzeichnis ablegen JAVA-Dateien dem Paket zuordnen

PKJ 2005/12 Stefan Dissmann Pakete Pakete werden implizit geschaffen: Verzeichnis anlegen JAVA-Dateien im Verzeichnis ablegen JAVA-Dateien dem Paket zuordnen Zuordnung einer JAVA-Datei zu einem Paket: package -Angabe in der ersten Zeile package paketname ;

PKJ 2005/13 Stefan Dissmann Pakete - Anlegen Beispiel: Liste.java public class Liste { … }

PKJ 2005/14 Stefan Dissmann Pakete - Anlegen Beispiel: Liste.java public class Liste { … } speicher

PKJ 2005/15 Stefan Dissmann Pakete - Anlegen Beispiel: Liste.java package speicher; public class Liste { … } speicher

PKJ 2005/16 Stefan Dissmann Pakete - Anlegen Liste.java package speicher; public class Liste { … } Menge.java package speicher; public class Menge { … } Map.java package speicher; public class Map { … } speicher

PKJ 2005/17 Stefan Dissmann Pakete - Anlegen Liste.java package speicher; public class Liste { … } Menge.java package speicher; public class Menge { … } Map.java package speicher; public class Map { … } speicher Zugriff möglich

PKJ 2005/18 Stefan Dissmann Klassen aus fremden Paketen nutzen Zwei Möglichkeiten: Paket-Pfad vor Namen angeben: speicher.Liste Namensraum erweitern: import speicher.Liste;

PKJ 2005/19 Stefan Dissmann Klassen aus fremden Paketen nutzen Zwei Möglichkeiten: Paket-Pfad vor Namen angeben: speicher.Liste Namensraum erweitern: import speicher.Liste; auch möglich: import speicher.*;

PKJ 2005/20 Stefan Dissmann Klassen aus fremden Paketen nutzen Zwei Möglichkeiten: Paket-Pfad vor Namen angeben: speicher.Liste Namensraum erweitern: import speicher.Liste; auch möglich: import speicher.*; oder auch: Kombination beider Möglichkeiten

PKJ 2005/21 Stefan Dissmann Pakete - Nutzen Liste.java package speicher; public class Liste { … } Menge.java package speicher; public class Menge { … } Map.java package speicher; public class Map { … } speicher Verwaltung.java package projekt; public class Verwaltung { … speicher.Liste l = new … … } projekt

PKJ 2005/22 Stefan Dissmann Pakete - Nutzen Liste.java package speicher; public class Liste { … } Menge.java package speicher; public class Menge { … } Map.java package speicher; public class Map { … } speicher Verwaltung.java package projekt; public class Verwaltung { … speicher.Liste l = new … … } projekt +

PKJ 2005/23 Stefan Dissmann Pakete - Nutzen Liste.java package speicher; public class Liste { … } Menge.java package speicher; public class Menge { … } Map.java package speicher; public class Map { … } speicher Verwaltung.java package projekt; import speicher.Liste; public class Verwaltung { … Liste l = new … … } projekt

PKJ 2005/24 Stefan Dissmann Pakete - Nutzen Liste.java package speicher; public class Liste { … } Menge.java package speicher; public class Menge { … } Map.java package speicher; public class Map { … } speicher Verwaltung.java package projekt; import speicher.Liste; public class Verwaltung { … Liste l = new … … } projekt +

PKJ 2005/25 Stefan Dissmann Pakete - Nutzen Liste.java package speicher; public class Liste { … } Menge.java package speicher; public class Menge { … } Map.java package speicher; public class Map { … } speicher Verwaltung.java package projekt; import speicher.*; public class Verwaltung { … Liste l = new … Menge m = new … … } projekt

PKJ 2005/26 Stefan Dissmann Pakete - Nutzen Liste.java package speicher; public class Liste { … } Menge.java package speicher; public class Menge { … } Map.java package speicher; public class Map { … } speicher Verwaltung.java package projekt; import speicher.*; public class Verwaltung { … Liste l = new … Menge m = new … … } projekt + +

PKJ 2005/27 Stefan Dissmann Unterpakete Anmerkung: Analog zu geschachtelten Verzeichnissen sind auch geschachtelte Pakete möglich: speicher

PKJ 2005/28 Stefan Dissmann Unterpakete Anmerkung: Analog zu geschachtelten Verzeichnissen sind auch geschachtelte Pakete möglich: speicher.neu speicher.alt aber: keine besondere Beziehung speicher neu alt

PKJ 2005/29 Stefan Dissmann Pakete als Sichtbarkeitsgrenzen Paket fasst Klassen zusammen Paket bildet Struktur im JAVA-Programm Paket erhält eigenen Sichtbarkeitsbereich neben: private, public und protected also auch: package aber: kein Schlüsselwort sondern: Standardeinstellung

PKJ 2005/30 Stefan Dissmann Sichtbarkeit package Liste.java package speicher; public class Liste { … int groesse; … } Menge.java package speicher; public class Menge { … } Map.java package speicher; public class Map { … } speicher

PKJ 2005/31 Stefan Dissmann Sichtbarkeit package Liste.java package speicher; public class Liste { … int groesse; … } Menge.java package speicher; public class Menge { … } Map.java package speicher; public class Map { … } speicher bedeutet: package

PKJ 2005/32 Stefan Dissmann Sichtbarkeit package Liste.java package speicher; public class Liste { … int groesse; … } Menge.java package speicher; public class Menge { … } Map.java package speicher; public class Map { … } speicher bedeutet: package

PKJ 2005/33 Stefan Dissmann Sichtbarkeitshierarchie BezeichnungBereich private nur die Klasse selbst package alle Klassen im eigenen Paket protected alle Klassen im eigenen Paket und alle erbenden Klassen (in anderen Paketen) public alle Klassen

PKJ 2005/34 Stefan Dissmann Sichtbarkeitshierarchie b a x y

PKJ 2005/35 Stefan Dissmann Sichtbarkeitshierarchie b a x y private

PKJ 2005/36 Stefan Dissmann Sichtbarkeitshierarchie b a x y package

PKJ 2005/37 Stefan Dissmann Sichtbarkeitshierarchie b a x y protected

PKJ 2005/38 Stefan Dissmann Sichtbarkeitshierarchie b a x y public

PKJ 2005/39 Stefan Dissmann Beispiel (DAP 1, ) package a; public class A { protected void m(A a) {} } class B extends A {} package b; import a.*; public class C extends A { public static void main (String[] args) { }

PKJ 2005/40 Stefan Dissmann Beispiel (DAP 1, ) package a; public class A { protected void m(A a) {} } class B extends A {} package b; import a.*; public class C extends A { public static void main (String[] args) { new A().m(new A()); }

PKJ 2005/41 Stefan Dissmann Beispiel (DAP 1, ) package a; public class A { protected void m(A a) {} } class B extends A {} package b; import a.*; public class C extends A { public static void main (String[] args) { new A().m(new A()); } m ist protected m für A in C nicht aufrufbar!

PKJ 2005/42 Stefan Dissmann Beispiel (DAP 1, ) package a; public class A { protected void m(A a) {} } class B extends A {} package b; import a.*; public class C extends A { public static void main (String[] args) { new C().m(new A()); }

PKJ 2005/43 Stefan Dissmann Beispiel (DAP 1, ) package a; public class A { protected void m(A a) {} } class B extends A {} package b; import a.*; public class C extends A { public static void main (String[] args) { new C().m(new A()); } m ist protected geerbt in C m für C in C aufrufbar!

PKJ 2005/44 Stefan Dissmann Beispiel (DAP 1, ) package a; public class A { protected void m(A a) {} } class B extends A {} package b; import a.*; public class C extends A { public static void main (String[] args) { new C().m(new C()); } C erbt von A C -Objekte können A -Objekte ersetzen!

PKJ 2005/45 Stefan Dissmann Beispiel (DAP 1, ) package a; public class A { protected void m(A a) {} } class B extends A {} package b; import a.*; public class C extends A { public static void main (String[] args) { new C().m(new B()); }

PKJ 2005/46 Stefan Dissmann Beispiel (DAP 1, ) package a; public class A { protected void m(A a) {} } class B extends A {} package b; import a.*; public class C extends A { public static void main (String[] args) { new C().m(new B()); } B ist nicht public B hat die Sichtbarkeit package !

PKJ 2005/47 Stefan Dissmann nicht-öffentliche Klassen In einer Datei sind mehr als eine Klasse möglich, aber nur als nicht-öffentliche Klassen: Die Sichtbarkeit bleibt auf das Paket beschränkt! Liste.java public class Liste { … } class Element { … }

PKJ 2005/48 Stefan Dissmann Was noch fehlt: innere Klassen lokale Klassen anonyme Klassen generische Klassen Exceptions Streams Threads Streams graphische Oberflächen (AWT, Swing, SWT) Persitance Flag-Interfaces objektorientiertes Programmieren

PKJ 2005/49 Stefan Dissmann Was noch fehlt: innere Klassen lokale Klassen anonyme Klassen generische Klassen Exceptions Streams Threads Streams graphische Oberflächen (AWT, Swing, SWT) Persitance Flag-Interfaces objektorientiertes Programmieren vielleicht im Sommersemester

PKJ 2005/50 Stefan Dissmann Ende!