2 Datenabstraktion Geheimnisprinzip:

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
Objektorientierte Programmierung
der Universität Oldenburg
der Universität Oldenburg
der Universität Oldenburg
Klassen - Verkettete Liste -
Objektorientierte Programmierung
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Definition von Klassen in Java
Kapselung , toString , equals , Java API
Objektorientierte Programmierung Definition von Klassen
Abstrakte Klassen HS Merseburg (FH) WS 06/07.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Listen Richard Göbel.
Indirekte Adressierung
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Grundlagen der Sprache
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
DO...WHILE Anweisung.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 10 Claudio Moraga; Gisbert Dittrich FBI Unido
Imperative Programmierung Funktionen und Parameter
Einführung in die OOP in Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
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 Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Abstrakter Datentyp in C++ I - Klasse -
3.+4. Übungsblatt Abstraktion, Modultypen und OO Erweiterung des Entwurfs Benutzbarkeitsbeziehungen 11. Mai 2006 Dipl.-Inform. Christian Fuß.
14StrukturKlasse1 Von der Struktur zur Klasse von C zu C++ Von Jens Hoffmann
Abstrakte Klassen DVG
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
Abstrakte Klassen, Interface
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Klassen 02 - Klassen.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Weiteres Programm Studium des Breitendurchlaufs Hierzu
Informatikunterricht mit Java
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,
Informatik 1 Übung 8. NACHBESPRECHUNG Übung 8 Rekursion Existiert Weg von A nach B?
IT2 – WS 2005/20061Oct 10, 2005 Externes Verhalten – Quelltext (source code) Durch Aufrufe der Konstruktoren und Methoden kann das externe Verhalten (=die.
Einführung in die Programmierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
1. Verhalten der Objekte: Operationen Werden in den Klassen definiert Werden (i.d.R.) auf einem Objekt aufgerufen Wird das Empfängerobjekt genannt Weitere.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Informatik Zustandsorientiertes Modellieren und Programmieren 2.4 Datenkapselung 2.4 Datenkapselung Objekte können miteinander kommunizieren, indem.
2. Zustandsorientiertes Modellieren 2.4 Datenkapselung
Programmiersprachen Proseminar Grundlagen wissenschaftlichen Arbeitens
EPROG Tutorium #6 Philipp Effenberger
Objektorientierte Modellierung mit UML
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Java-Kurs Übung Besprechung der Hausaufgabe
Diskrete Mathe Diskrete Mathematik I Listen Vorlesung 4.
Tutorium Software-Engineering SS14 Florian Manghofer.
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Implementieren von Klassen
Grundkurs Informatik 11-13
 Präsentation transkript:

2 Datenabstraktion Geheimnisprinzip: (information hiding principle, Parnas 1972) Zugriffe auf Teile einer Programmeinheit, die für die „reguläre Benutzung“ nicht erforderlich sind, sollten verboten sein. Besser noch: die nicht benötigten Teile sollten unsichtbar sein.

Datenabstraktion: (data abstraction) Anwendung des Geheimnisprinzips auf die Darstellung von (einfachen und komplexen) Daten im Rechner: die Daten sind nicht durch Zugriff auf ihre Bestandteile, sondern ausschließlich über zugehörige Operationen manipulierbar. [ Auch „Datenkapselung“ (data encapsulation) ]

2.1 Datenabstraktion bei Java-Klassen class Queue { private int head, length; void append(Entry item)throws QueueOverflow { . . . . . } . } Queue ist abstrakter Datentyp (abstract data type, ADT) q: Queue verweist auf abstraktes Datenobjekt (ADO)

Vorteile der Datenabstraktion: 1 Sicherheit: Objekt kann nicht in ungültige Zustände gebracht werden. 2 Komfort: Benutzer kann von Repräsentation abstrahieren; Objekt wird ausschließlich über Operationen benutzt. 3 Flexibilität: Code der Klasse kann unabhängig vom benutzenden Code entwickelt werden - und ohne Auswirkungen auf den benutzenden Code geändert werden.

2.2 Explizite Schnittstellenbeschreibung interface Name { . . // Prozedurköpfe und Konstanten }

? Funktion als Parameter ? float nullstelle(Funktion f, float a, float b) { // Regula Falsi float x, fx; float fa = f.von(a); float fb = f.von(b); do { x = (a*fb - b*fa)/(fb - fa); fx = f.von(x); if(fx*fa > 0) {a=x; fa=fx;} else {b=x; fb=fx;} } while (Math.abs(fx) > eps); return x; }