Algorithmen und Datenstrukturen
|
|
- Lars Zimmermann
- vor 6 Jahren
- Abrufe
Transkript
1 Algorithmen und Datenstrukturen Werner Struckmann Wintersemester 2005/06
2 5. Objektorientierte Algorithmen 5.1 Objekte und Klassen 5.2 Vererbung 5.3 Abstrakte Klassen 5.4 Objektorientierte Softwareentwicklung
3 Einführung Das objektorientierte Paradigma der Algorithmenentwicklung hat verschiedene Wurzeln: Realisierung abstrakter Datentypen rechnergeeignete Modellierung der realen Welt (objektorientierte Analyse) problemnaher Entwurf von Sofwaresystemen (objektorientiertes Design) problemnahe Implementierung (objektorientierte Programmierung) 5.1 Objekte und Klassen 5-1
4 Grundlagen der Objektorientierung Klassen Person Patient Mitarbeiter Arzt Chefarzt Begriffswelt des Modellierenden Krankenhaus Mitarbeiter Patienten Schwestern Verwaltung Ärzte Prof. Dr. Sauerbruch Dr. Quincy Fr. Müller Objekte/Instanzen Realität 5.1 Objekte und Klassen 5-2
5 Objekte Ein Objekt ist die Repräsentation eines Gegenstands oder Sachverhalts der realen Welt oder eines rein gedanklichen Konzepts. Es ist gekennzeichnet durch eine eindeutige Identität, durch die es sich von anderen Objekten unterscheidet, statische Eigenschaften zur Darstellung des Zustands des Objekts in Form von Attributen, dynamische Eigenschaften in Form von Methoden, die das Verhalten des Objekts beschreiben. 5.1 Objekte und Klassen 5-3
6 Beispiele für Objekte Eine Person mit Namen Müller und Geburtsdatum (Attribute mit Belegungen) und Methode alter(): int. Eine rationale Zahl mit Zähler und Nenner (Attribute) und Methoden normalisiere() und addiere(r: RationaleZahl) Es findet in der Regel eine Abstraktion statt. Gewisse Aspekte (zum Beispiel das Gewicht einer Person) werden nicht berücksichtigt. Der Zustand eines Objekts zu einem Zeitpunkt entspricht der Belegung der Attribute des Objekts zu diesem Zeitpunkt. Der Zustand eines Objekts kann mithilfe von Methoden erfragt und geändert werden. 5.1 Objekte und Klassen 5-4
7 Methoden Methoden sind in der programmiersprachlichen Umsetzung Prozeduren oder Funktionen, denen Parameter übergeben werden können. Der Zustand eines eine Methode ausführenden Objekts (und nur der dieses Objekts) ist der Methode im Sinne einer Menge globaler Variablen direkt zugänglich. Er kann daher sowohl gelesen als auch verändert werden. 5.1 Objekte und Klassen 5-5
8 Objektmodelle Wertbasierte Objektmodelle: In diesem Modell besitzen Objekte keine eigene Identität im eigentlichen Sinn. Zwei Objekte werden schon als identisch angesehen, wenn ihr Zustand gleich ist. Für zwei Objekte zur Datumsangabe d 1 = und d 2 = gilt in diesem Modell d 1 = d 2. Identitätsbasierte Objektmodelle: Jedem Objekt innerhalb des Systems wird eine vom Wert unabhängige Identität zugeordnet. Zwei Objekte für Personen p 1 = Müller, und p 2 = Müller, sind in diesem Modell nicht identisch: p 1 p Objekte und Klassen 5-6
9 Kapselung und Geheimnisprinzip Objekte verwenden das Geheimnisprinzip und das Prinzip der Kapselung. Sie verbergen ihre Interna Zustand (Belegung der Attribute), Implementierung ihres Zustands, Implementierung ihres Verhaltens. Objekte sind nur über ihre Schnittstelle, also über die Menge der vom Objekt der Außenwelt zur Verfügung gestellten Methoden, zugänglich. Man spricht von den Diensten des Objekts. 5.1 Objekte und Klassen 5-7
10 Nachrichten Objekte interagieren über Nachrichten: Ein Objekt x sendet eine Nachricht n an Objekt y. y empfängt die Nachricht n von x. Innerhalb einer Programmiersprache wird dieser Vorgang meist durch einen Methodenaufruf implementiert. Nachrichten (Methodenaufrufe) können den Zustand eines Objektes verändern. Ein Objekt kann sich selbst Nachrichten schicken. 5.1 Objekte und Klassen 5-8
11 Beziehungen zwischen Objekten Objekte können in Beziehungen zueinander stehen. Die Beteiligten an einer Beziehung nehmen Rollen ein. Rolle des Arztes: behandelnder Arzt, Rolle des Patienten: Patient. Ein Objekt kann mit mehreren Objekten in der gleichen Beziehung stehen. Rolle von Arzt: behandelnder Arzt, Rolle von Patient 1: Patient, Rolle von Patient 2: Patient. Nachrichten können nur ausgetauscht werden, wenn eine Beziehung besteht. Beziehungen können sich während der Lebenszeit eines Objekts verändern. 5.1 Objekte und Klassen 5-9
12 Klassen Objekte besitzen eine Identität, verfügen über Attribute und Methoden, gehen Beziehungen zu anderen Objekten ein und interagieren über Nachrichten. Es gibt in der Regel Objekte, die sich bezüglich Attribute, Methoden und Beziehungen ähnlich sind. Daher bietet es sich an, diese Objekte zu einer Klasse zusammenzufassen. 5.1 Objekte und Klassen 5-10
13 Klassen Patient name: String geburtsdatum: Date diagnose: String p1: Patient name: Müller geburtsdatum: diagnose: Grippe p2: Patient name: Meier geburtsdatum: diagnose: Husten p3: Patient name: Schulz geburtsdatum: diagnose: Kleinwuchs 5.1 Objekte und Klassen 5-11
14 Klassen Eine Klasse ist die Beschreibung von Objekten, die über eine gleichartige Menge von Attributen und Methoden verfügen. Sie beinhaltet auch Angaben darüber, wie Objekte dieser Klasse verwaltet (zum Beispiel erzeugt oder gelöscht) werden können. Klassendefinitionen sind eng verwandt mit abstrakten Datentypen. Sie legen Attribute und Methoden der zugehörigen Objekte fest. Objekte einer Klasse nennt man auch Instanzen dieser Klasse. Beziehungen (Assoziationen) zwischen den Objekten werden auf Klassenebene beschrieben. Ein Konstruktor ist eine Methode zum Erzeugen von Objekten. 5.1 Objekte und Klassen 5-12
15 Klassenvariable und -methoden Es gibt Attribute von Klassen, die nicht an konkrete Instanzen gebunden sind. Diese heißen Klassenvariable oder statische Variable. In dieser Sprechweise werden instanzgebundene Attribute auch als Instanzvariable bezeichnet. Klassenvariable existieren für die gesamte Lebensdauer einer Klasse genau einmal unabhängig davon, wie viele Objekte erzeugt wurden. Neben Klassenvariablen gibt es auch Klassenmethoden, d. h. Methoden, deren Existenz nicht an konkrete Objekte gebunden ist. Klassenmethoden werden auch statische Methoden genannt. 5.1 Objekte und Klassen 5-13
16 Vererbung Häufig gibt es Klassen, die sich in Attributen, Methoden und Beziehungen ähnlich sind. Beispiel: Zahl, natürliche Zahl, ganze Zahl, rationale Zahl. Man versucht, zu ähnlichen Klassen eine gemeinsame Oberklasse zu finden, die die Ähnlichkeiten subsumiert und ergänzt die Unterklassen nur um die individuellen Eigenschaften. Eine Unterklasse erbt die Attribute und Methoden der Oberklasse. 5.2 Vererbung 5-14
17 Vererbung Person name: String geburtsdatum: Date Patient name: String geburtsdatum: Date patientennr: Integer diagnose: String Gemeinsamkeiten Arzt name: String geburtsdatum: Date mitarbeiternr: Integer fachrichtung: String 5.2 Vererbung 5-15
18 Vererbung B erbt alle Attribute und Methoden von A und fügt in der Regel weitere hinzu. A ist die Basisklasse (Oberklasse) und B die abgeleitete Klasse (Unterklasse). B ist eine Spezialisierung von A und A eine Generalisierung von B. A B 5.2 Vererbung 5-16
19 Vererbung und Polymorphismus Jede Instanz b Bist auch ein a A. Einfachvererbung: Jede abgeleitete Klasse besitzt genau eine Vaterklasse. In Java: class B extends A {... } A B Eine Variable vom Typ einer Basisklasse kann während ihrer Lebensdauer sowohl Objekte ihres eigenen Typs als auch solche von abgeleiteten Klassen aufnehmen. Dies wird als Polymorphismus bezeichnet. 5.2 Vererbung 5-17
20 Vererbung Eine Unterklasse erbt von ihrer Oberklasse alle Attribute und Methoden und kann diese um weitere Attribute und Methoden ergänzen. Erben heißt: Die Attribute und Methoden der Oberklasse können in der Unterklasse verwendet werden, als wären sie in der Klasse selbst definiert. 5.2 Vererbung 5-18
21 Vererbung Vererbungen können mehrstufig sein. Jede abgeleitete Klasse erbt die Attribute und Methoden der jeweiligen Oberklasse. Es entstehen Vererbungshierarchien. A B C 5.2 Vererbung 5-19
22 Vererbung Vererbungshierarchien können sehr komplex sein. Sie lassen sich durch azyklische gerichtete Graphen darstellen. B A C E D F G 5.2 Vererbung 5-20
23 Verdecken von Variablen Eine Unterklasse kann eine Variable deklarieren, die denselben Namen trägt, wie eine der Oberklasse. Hierdurch wird die weiter oben liegende Variable verdeckt. Dies wird häufig dazu benutzt, um den Typ einer Variablen der Oberklasse zu überschreiben. In manchen Programmiersprachen gibt es Konstrukte, die den Zugriff auf verdeckte Variable ermöglichen (in Java: Verwendung des Präfixes super ). 5.2 Vererbung 5-21
24 Überlagern von Methoden Methoden, die aus der Basisklasse geerbt werden, dürfen in der abgeleiteten Klasse überlagert, d. h. neu definiert, werden. Da eine Variable einer Basisklasse Werte von verschiedenen Typen annehmen kann, entscheidet sich bei überlagerten Methoden im Allgemeinen erst zur Laufzeit, welche Methode zu verwenden ist: Dynamische Methodensuche. Wird eine Methode in einer abgeleiteten Klasse überlagert, wird die ursprüngliche Methode verdeckt. Aufrufe der Methode beziehen sich auf die überlagernde Variante. In manchen Programmiersprachen gibt es Konstrukte, die den Zugriff auf überlagerte Methoden ermöglichen (in Java: Verwendung des Präfixes super ). 5.2 Vererbung 5-22
25 Modifikatoren Mithilfe von Modifikatoren können Sichtbarkeit und Eigenschaften von Klassen, Variablen und Methoden beeinflusst werden. Die Sichtbarkeit bestimmt, ob eine Klasse, Variable oder Methode in anderen Klassen genutzt werden kann. Eigenschaften, die über Modifikatoren gesteuert werden können, sind z. B. die Lebensdauer und die Veränderbarkeit. Beispiele für Modifikatoren in Java sind: public, protected, private, static, final, Vererbung 5-23
26 Mehrfachvererbung A C Eine Klasse kann im Allgemeinen mehrere Oberklassen besitzen. In diesem Fall spricht man von Mehrfachvererbung (multiple inheritance) im Gegensatz zur Einfachvererbung (single inheritance). Problematisch ist die Behandlung von Konflikten, wenn gleichnamige Attribute oder Methoden in verschiedenen Oberklassen definiert werden. Mehrfachvererbung ist in Java nur für Schnittstellen erlaubt. B 5.2 Vererbung 5-24
27 Abstrakte Methoden Eine Methode heißt abstrakt, wenn ihre Deklaration nur die Schnittstelle, nicht aber die Implementierung enthält. Im Gegensatz dazu stehen konkrete Methoden, deren Deklarationen auch Implementierungen besitzen. Java: Die Deklaration einer abstrakten Methode erfolgt durch den Modifikatorabstract. Anstelle des Rumpfes steht lediglich ein Semikolon. Abstrakte Methoden können nicht aufgerufen werden, sie definieren nur eine Schnittstelle. Erst durch Überlagerung in einer abgeleiteten Klasse und durch Angabe der fehlenden Implementierung wird eine abstrakte Methode konkret. 5.3 Abstrakte Klassen 5-25
28 Abstrakte Klassen Eine Klasse, die nicht instanziiert werden kann, heißt abstrakte Klasse. Klassen, von denen Objekte erzeugt werden können, sind konkrete Klassen. Jede Klasse, die mindestens eine abstrakte Methode besitzt, ist abstrakt. Java: Eine Klasse ist abstrakt, wenn sie mindestens eine abstrakte Methode enthält. Die Deklaration einer abstrakten Klasse erfolgt ebenfalls durch den Modifikatorabstract. Java: Es ist erforderlich, abstrakte Klassen abzuleiten und in der abgeleiteten Klasse eine oder mehrere abstrakte Methoden zu implementieren. Die Konkretisierung kann über mehrere Stufen erfolgen. 5.3 Abstrakte Klassen 5-26
29 Schnittstellen Java: Eine Schnittstelle (Interface) ist eine Klasse, die ausschließlich Konstanten und abstrakte Methoden enthält. Java: Zur Definition einer Schnittstelle wird das Schlüsselwort class durch das Schlüsselwortinterface ersetzt. Java: Alle Methoden einer Schnittstelle sind implizit abstrakt und öffentlich, alle Konstanten final, statisch und öffentlich. Redundante Modifikatoren dürfen angegeben werden. Java: Ein Interface darf keine Konstruktoren enthalten. 5.3 Abstrakte Klassen 5-27
30 Generizität Unter Generizität versteht man die Parametrisierung von Klassen, Datentypen, Modulen, Prozeduren, Funktionen,... Als Parameter werden in der Regel Datentypen (manchmal auch Algorithmen in Form von Prozeduren) verwendet. Deklariert man beispielsweise eine Liste, so sollte die Liste generisch angelegt werden. Dann kann man später Listen von Zahlen, Zeichen, o. ä. erzeugen. Auch ein Sortieralgorithmus kann generisch definiert werden. Man setzt nur voraus, dass der Datentyp eine Ordnungsrelation zur Verfügung stellt. 5.3 Abstrakte Klassen 5-28
31 Realisierung von abstrakten Datentypen Die folgende Elemente müssen im Programm abgebildet werden: Name des ADT: wird üblicherweise der Klassenname Importierte ADTen: werden sowohl zu Definitionen mit dem entsprechenden importierten Typ, als auch zu Import-Anweisungen innerhalb des Programms Objekterzeugende Operatoren: sogenannte Konstruktoren werden in (meist spezielle) Klassenmethoden abgebildet, die ein neues Objekt des gewünschten Typs zurückliefern Lesende Operatoren: sogenannte Selektoren werden zu Methoden, die auf die Attribute nur lesend zugreifen Schreibende Operatoren: sogenannte Manipulatoren werden zu Methoden, die den Zustand des Objekts verändern Axiome: müssen sichergestellt werden 5.4 Objektorientierte Softwareentwicklung 5-29
32 Realisierung eines Kellers in Java (Idee) type Stack(T) import Bool operators empty : Stack push : Stack T Stack pop : Stack Stack top : Stack T empty? : Stack Bool axioms s Stack, x T pop(push(s, x)) = s top(push(s, x)) = x empty?(empty) = true empty?(push(s, x)) = false Die Implementation kann beispielsweise durch Rückgriff auf die in Java existierenden Listen geschehen. 5.4 Objektorientierte Softwareentwicklung 5-30
33 Realisierung eines Kellers in Java (Idee) import java.util.*; class Stack<T> { protected List<T> data; } public Stack() {... } public void push(t elem) {... } public void pop() throws EmptyStackException {... } public T top() throws EmptyStackException {... } public boolean isempty(){... } 5.4 Objektorientierte Softwareentwicklung 5-31
34 Softwareentwicklung Analyse Problembereich Problemlösung Analysemodelle Programmsystem Design Entwurfsmodelle Implementierung 5.4 Objektorientierte Softwareentwicklung 5-32
35 Was ist Software-Technik? W. Hesse, H. Keutgen, A. L. Luft, H. D. Rombach: Ein Begriffsystem für die Software-Technik, Informatik-Spektrum, 7, 1984, S : Software-Technik (Software-Engineering) ist das Teilgebiet der Informatik, das sich mit der Bereitstellung und systematischen Verwendung von Methoden und Werkzeugen für die Herstellung und Anwendung von Software beschäftigt. 5.4 Objektorientierte Softwareentwicklung 5-33
36 Software-Technik setzt solide Kenntnisse in (mindestens) einer Programmiersprache voraus, ist nicht auf eine spezielle Programmiersprache (sondern evtl. eher auf ein Paradigma) zugeschnitten, ist ein weites und wichtiges Gebiet der Informatik. 5.4 Objektorientierte Softwareentwicklung 5-34
37 Teilgebiete der Software-Technik Software-Entwicklung Software-Management Software-Qualitätssicherung 5.4 Objektorientierte Softwareentwicklung 5-35
38 Software-Entwicklung Planungsphase Definitionsphase Entwurfsphase Implementierungsphase Abnahme- und Einführungsphase Wartungs- und Pflegephase 5.4 Objektorientierte Softwareentwicklung 5-36
39 Software-Management Planung Organisation Personaleinsatz Leitung Kontrolle 5.4 Objektorientierte Softwareentwicklung 5-37
40 Software-Qualitätssicherung Qualitätssicherung Prüfmethoden Prozessqualität Produktqualität 5.4 Objektorientierte Softwareentwicklung 5-38
41 Weitere Aspekte Werkzeuge, Computer Aided Software Engineering (CASE) Wiederverwendbarkeit von Software Modellierung, z. B. Unternehmensmodellierung Modellierungssprachen, z. B. UML 5.4 Objektorientierte Softwareentwicklung 5-39
42 Unified Modelling Language UML (Unified Modelling Language) wurde in den 1990er Jahren mit dem Ziel, eine einheitliche auch grafische Notation für die objektorientierte Software-Entwicklung zur Verfügung zustellen, definiert. Sie enthält ca. ein Dutzend verschiedener Modelltypen zur Beschreibung der verschiedenen Systemaspekte. Entwickler der UML waren (und sind) Grady Booch, Ivar Jacobson und James Rumbaugh. UML ist der De-facto-Standard für objektorientierte Analyse und Design. Object Constraint Language (OCL) zur Formulierung von Bedingungen. Für UML ist eine Vielzahl an Werkzeugen verfügbar. UML werden Sie in der Vorlesung Software Engineering und in Praktika gründlich kennen lernen. 5.4 Objektorientierte Softwareentwicklung 5-40
43 Unified Modelling Language Anwendungsfalldiagramme (Benutzersicht) Implementierungsdiagramme (statische Systemstruktur) Objekt- und Klassendiagramme, Paketdiagramme Komponentendiagramme Verteilungsdiagramme Verhaltensdiagramme (dynamisches Systemverhalten) Aktivitätsdiagramme Kollaborationsdiagramme Sequenzdiagramme Zustandsdiagramme 5.4 Objektorientierte Softwareentwicklung 5-41
44 Anwendungsfalldiagramme modellieren die Einbettung eines Systems in seine Umgebung, beschreiben die Sicht auf Systemfunktionalität von außen und werden zur Spezifikation der globalen Systemanforderungen eingesetzt. Kreditkarten-Validierungssystem Kunde Fuehre Kartentransaktion durch Haendler Bearbeite Rechnung Einzelkunde Firmenkunde Verwalte Kundenkonto Finanzinstitut 5.4 Objektorientierte Softwareentwicklung 5-42
45 Klassendiagramme stellen die statische Systemstruktur dar und beschreiben die Systemelemente und ihre Beziehungen zueinander. Bildschirm Bitmap zeichnen() Pixel x :Integer y :Integer Farbe :Colour +Elemente Quadrat Dreieck Icon 5.4 Objektorientierte Softwareentwicklung 5-43
46 Sequenzdiagramme stellen die Abfolge der Nachrichten dar. Sie basieren auf Message Sequence Charts. Reader Librarian System hand_book enter_book_data update [reserved] notify acknowledge_librarian acknowledge_reader 5.4 Objektorientierte Softwareentwicklung 5-44
47 Object Constraint Language Object Constraint Language (OCL) ist eine Sprache, in der z. B. Vor- und Nachbedingungen sowie Schleifeninvarianten ausgedrückt werden können. OCL ist kein Bestandteil von UML, sondern ein Vorschlag für eine Sprache zur Formulierung von Erläuterungen (annotations). Prinzipiell kann hierfür jede Sprache, auch Deutsch oder Englisch, verwendet werden. OCL basiert auf der Prädikatenlogik. Einige Typen von OCL: Void, Boolean, Integer, Real, String, Tupel, Set, Ordered Set, Bag, Sequence. 5.4 Objektorientierte Softwareentwicklung 5-45
48 Objektorientierte Programmiersprachen Algol 60 Simula Einfache Vererbung Koroutinen andere PLs Abstrakte Datentypen Keine Vererbung OOPLs Klassenkonzept Vererbung Ada 83 Modula-2 Eiffel Smalltalk C++ Java sowie verschiedene OO-Derivate anderer Programmiersprachen (Visual-Basic, Delphi) 5.4 Objektorientierte Softwareentwicklung 5-46
49 Objektorientiertes Programmieren Identifizieren Sie die Klassen und die Beziehungen der Klassen untereinander. Achten Sie auf Datenkapselung und Wiederverwendbarkeit. Definieren Sie die Methoden. Denken Sie an die Möglichkeit von abstrakten Methoden und Klassen. Attribute und Methoden, die unabhängig von Instanzen existieren, sind als Klassenvariable bzw. -methoden zu vereinbaren. In der Regel sollten Sie sich auf wenige Klassenvariable und -methoden beschränken. Achten Sie auf Programmiersicherheit. Vergeben Sie nicht mehr Zugriffsrechte als erforderlich (Geheimnisprinzip). Variable, die nicht verändert werden, sollten auch als Konstante im Programm deklariert werden. 5.4 Objektorientierte Softwareentwicklung 5-47
Beispiel: Zwischen der Oberklasse und der abgeleiteten Klasse besteht eine ist ein Beziehung. Eine abgeleitete Klasse stellt eine Spezialisierung der
Vererbung Vererbung ist ein Konzept der objektorientierten Programmierung,, die es ermöglicht neue Klassen von bereits vorhandenen Klassen abzuleiten. In einer abgeleiteten Klasse (subclass) muss nur spezifiziert
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
MehrAnwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie
Anwendungsentwicklung mit Java Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Vererbung (1) 2 Problem: Objekte mit gleichen Attributen/Methoden, aber nicht völlig identisch, z.b., LKW, PKW,
MehrInhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte
Grundkonzepte Objektorientierter Programmierung Nicole Himmerlich FSU Jena mit Java, Oberon-2, Object-Pascal und Python Inhaltsüberblick I. Grundbegriffe 1) Kopplung 2) Datenkaspelung 3) Konstruktor 4)
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
MehrOOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik
Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Test-Besprechung! Ziele verdeutlichen Große Bild von OOP Wiederholung: Einbettung als Technik
MehrPräsentation Interfaces
Einführung in Java Präsentation Interfaces Nozar Delassaei Marvi Inhalt 1. Erinnerung Klasse Objekte Beispiel Klasse Abstrakte Klasse Beispiel Abstrakte Klasse Mehrfachvererbung-1 Mehrfachvererbung-2 2.
MehrUniversität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich WS 02/03 Warum muss ein Objekt wissen, zu welcher Klasse es gehört? Damit die Klassenzugehörigkeit
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
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrObjektorientierte Modellierung (1)
Objektorientierte Modellierung (1) Die objektorientierte Modellierung verwendet: Klassen und deren Objekte Beziehungen zwischen Objekten bzw. Klassen Klassen und Objekte Definition Klasse Eine Klasse ist
MehrEinführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
Mehr7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen
7. Schnittstellen Grundlagen zu Schnittstellen 7. Schnittstellen Eine Schnittstelle (Interface) ist eine Spezifikation eines Typs in Form eines Typnamens und einer Menge von Methoden, die keine Implementierungen
MehrVorlesung Programmieren. Bisher: Klassen und Objekte. Was ist mit ähnlichen Klassen? Vererbung und Polymorphismus
Vorlesung Programmieren Vererbung und Polymorphismus Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Bisher: Klassen und Objekte Haupteigenschaften:
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
Mehr5.5.8 Öffentliche und private Eigenschaften
5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung
MehrAnalyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 18 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen 2 / 18 UML: Grundsätzliches
MehrUML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language
UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language ADV-Seminar Leiter: Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?
MehrJason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel
Jason T. Roff UML IT Tutorial Übersetzung aus dem Amerikanischen von Reinhard Engel Inhaltsverzeichnis Inhaltsverzeichnis Einführung 11 Grundlagen der UML 15 Warum wir Software modellieren 16 Analyse,
Mehr8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure
8. Objektorientierte Programmierung Informatik II für Verkehrsingenieure Grundbegriffe ALAN KAY, ERFINDER DER SPRACHE SMALLTALK, HAT DIE GRUNDBEGRIFFE DER OBJEKTORIENTIERTEN PROGRAMMIERUNG WIE FOLGT ZUSAMMENGEFASST:
Mehr09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)
Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)
MehrVorlesung Programmieren
Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)
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
MehrEinführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 10: Mehr zur Vererbung und abstrakte Klassen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Mehr zur Vererbung Methoden vererben und überschreiben
MehrObjektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen
Objektorientierte Programmierung mit Grundlagen 27.10.2008 1 Übersicht 27.10.2008 2 1 Übersicht Klassen und Objekte in - Klassen - Objekte - Klassen - Objekte 27.10.2008 3 Übersicht 27.10.2008 4 2 Einführung
MehrKlassenbeziehungen & Vererbung
Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in
MehrKapitel 6. Vererbung
Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen
MehrKapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
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
MehrEinführung in die Informatik
Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester
MehrProgrammierkurs Java. Vererbung. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.
Programmierkurs Java Vererbung Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Ähnlichkeiten zwischen Klassen? Beispiel: Klassen Auto
MehrGrundzüge der Programmierung. Wiederverwendung VERERBUNG
Grundzüge der Programmierung Wiederverwendung VERERBUNG Inhalt dieser Einheit Syntax: Vererbung in Java Superklassen - Subklassen Konstruktorenaufruf in Subklassen super, abstract und final 2 Code-Reuse
MehrÜbungen Softwaretechnik I
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 5: Objektorientierte Analyse Einführung Objektorientierung in der
MehrKapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Objektorientierung in C++ (2) Beziehungen zwischen Klassen Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 530 Beziehungen zwischen Klassen Assoziation
MehrEine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.
Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,
MehrVererbung. Was versteht man unter dem Begriff Vererbung?
Was versteht man unter dem Begriff Vererbung? Elternkonstrukt - Datenelemente - Methoden o Deklaration o Definition Kindkonstrukt... Main... Elternkonstrukt b = new Kindkonstrukt() b.fn() Komponenten &
MehrÜbersicht. Vorstellung des OO-Paradigmas
Java, OO und UML Vorstellung des OO-Paradigmas Übersicht Umsetzung des OO-Paradigmas in Java Einführung (seeeeeehr rudimenter) in UML zur graphischen Darstellung von OO Grammatik und Semantik von Java
Mehr3. Konzepte der objektorientierten Programmierung
3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
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
MehrJava Einführung Objektorientierte Grundkonzepte
Java Einführung Objektorientierte Grundkonzepte Inhalt Verständnis der grundlegenden Konzepte der Objektorientierung: Objekte Nachrichten Kapselung Klassen und Instanzen Vererbung Polymorphismus Darstellung
MehrJava Vererbung. Inhalt
Java Vererbung Inhalt 1 Zielsetzung... 2 1.1 Bewertung... 2 2 Grundlagen der Vererbung... 2 2.1 Super und Subklassen... 2 3 Überladen von Methoden... 4 3.1 Unterschiedliche Parameter... 4 3.2 Gleiche Parameter
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
MehrTeil 2: OOP und JAVA (Vorlesung 11)
Teil 2: OOP und JAVA (Vorlesung 11) Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 28.06.06 1 Teil
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrProgrammieren in Java
Programmieren in Java Einführung in die objektorientierte Programmierung Teil 2 2 Übersicht der heutigen Inhalte Vererbung Abstrakte Klassen Erweitern von Klassen Überladen von Methoden Überschreiben von
MehrUnified Modeling Language (UML)
Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 09: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes
Mehr7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure
7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG
MehrÜberschreiben von Methoden
Vergleich der DoME Realisierungen: Methode ausgeben Version 1 (ohne Vererbung): Anzeigen aller Informationen CD: A Swingin Affair (64 Min)* Frank Sinatra Titelanzahl: 16 Mein Lieblingsalbum von Sinatra
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und
MehrAbschnitt 9: Schnittstellen: Interfaces
Abschnitt 9: Schnittstellen: Interfaces 9. Schnittstellen: Interfaces 9.1 Die Idee der Schnittstellen 9.2 Schnittstellen in Java 9.3 Marker-Interfaces 9.4 Interfaces und Hilfsklassen 9.5 Zusammenfassung
MehrProgrammieren I. Kapitel 8. Vererbung
Programmieren I Kapitel 8. Vererbung Kapitel 8: Vererbung Ziel: Wesentliches objektorientiertes Konzept kennenlernen Subtypen Idee Probleme und Varianten Vererbung in Java dynamische Bindung abstrakte
MehrJava, OO und UML Fortsetzung
Java, OO und UML Fortsetzung Das Objektorientierte Paradigma OO bildet keine geschlossene theoretisch abgegrenzte Basis (wie z.b. das Relationsmodell relationaler Datenbanken) OO ist eine Sammlung und
MehrWiederholung zur Vorlesung Programmieren
Wiederholung zur Vorlesung Jan 2007 Wintersemester 2007/2008 Computerlinguistik, Campus DU Einstieg Erläutern sie in knappen Worten die notwendigen Schritte um ein einfaches Java-Programm zu schreiben
MehrJava I Vorlesung Vererbung und Sichtbarkeit
Java I Vorlesung 4 Vererbung und Sichtbarkeit 17.5.2004 Vererbung Überladen, Überschreiben, Verstecken, Verschatten Zugriffskontrolle Statische Members Wiederholung: OOP Programme bestehen aus Klassen.
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,
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
MehrProgrammierkurs C++ Abstrakte Klassen und Methoden
Programmierkurs C++ Abstrakte Klassen und Methoden Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie Obst double
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
MehrInterfaces und Vererbung
Interfaces und Vererbung Einführung in Java Folie 1 von 31 12. Mai 2011 Ivo Kronenberg Inhalt Interfaces Statische und dynamische Typen Visiblitätsmodifier Vererbung Überschreiben von Methoden Konstruktoren
MehrBeziehungen zwischen Objekten
1/19 Beziehungen zwischen Objekten Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/19 Outline 1 Vererbung (Wiederholung)
MehrVererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
MehrUniversität Karlsruhe (TH)
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Kapitel 2 Die Definitionsphase Prof. Walter F. Tichy Wo sind wir gerade? Planung Lastenheft (funktionales Modell) Definition (Analyse) Pflichtenheft
MehrAlgorithmen und Datenstrukturen 07
5. Dezember 2011 1 Besprechung Blatt 6 Fragen 2 Vererbung Allgemein abstract Interfaces 3 Unified Modeling Language (UML) Ablaufdiagramme Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung Blatt 7
MehrEinführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren
Einführung in die Informationsverarbeitung Teil Thaller Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 18. Dezember 2014 Rekapitulation Der Gang der Argumentation 1. Der Rohstoff:
Mehr01. Grundprinzipien der Vererbung
01. Grundprinzipien der Vererbung 1.1 Grundidee der Vererbung Bei der Analyse eines Problems (z.b. Baukasten) stellt man beispielsweise fest, dass 67 % an Daten/Funktionen immer vorkommen 25 % an Daten/Funktionen
MehrPrüfungszeuch im Fach Objektorientierte Programmierung WS 2000
Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 A. Beschreibung der Projektarbeit. Welche Aufgabe haben Sie im Rahmen der Projektarbeit gelöst? 2. Mit welchen Tools bzw. Programmen (Anwendung,
MehrMuster in der Software Technik. Grundlegende Konzepte der Software Entwicklung und Objekt Orientierung
Muster in der Software Technik Grundlegende Konzepte der Software Entwicklung und Objekt Orientierung Grundlagen für die weitere Vorlesung: Aktivitäten und Prozesse der Software Entwicklung Objektorientierte
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 12: Einführung in UML und Java API Dokumentation Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in UML Sequenzdiagramm Klassendiagramm
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
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
MehrInformatik II Übung 6 Gruppe 7
Informatik II Übung 6 Gruppe 7 Leyna Sadamori leyna.sadamori@inf.ethz.ch DEBRIEFING Übung 5 2 U5A1-4 Im Prinzip alles richtig. Falls am Ende noch Zeit, dann Einsicht in die Best Of s 3 THEORIE Java Vererbung,
MehrInformatik I - Programmierung Globalübung Objektorientierung. Objektorientierung Konzepte & Notationen
Informatik I - Programmierung Globalübung 2.12.2003 Objektorientierung Konzepte & Notationen Thomas Weiler Fachgruppe Informatik RWTH Aachen T. Weiler, RWTH Aachen - 1 - Objektorientierung Notationen Entwurfsprinzipien
Mehr8. Generics Grundlagen der Programmierung 1 (Java)
8. Generics Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 6. Dezember 2005 Einordnung im Kontext der Vorlesung 1.
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrVorkurs Informatik: Erste Schritte der Programmierung mit C++
Vorkurs Informatik WS 14/15 Vorkurs Informatik: Erste Schritte der Programmierung mit C++ Tag 3: Objektorientiere Programmierung 8. Oktober 2014 Vorkurs Informatik WS 14/15 > Einführung Agenda 1 Einführung
MehrAbschnitt 15: Unified Modeling Language (UML)
Abschnitt 15: Unified Modeling Language (UML) 15. Unified Modeling Language (UML) 15.1 Grundlagen 15.2 Klassen und Objekte 15.3 Vererbung 15.4 Schnittstellen 15.5 Generische Typen 15.6 Pakete 15.7 UML
MehrObjektorientierte Programmiersprachen
Objektorientierte Programmiersprachen 1960 Algol 1970 Simula Pascal 1980 Smalltalk C Ada 1990 C++ Eiffel Eine ovale Box symbolisiert eine objektorientierte Programmiersprache. Eine rechteckige Box steht
MehrInhalt. Informatik B Objektorientierte Programmierung in Java. Vorlesung 04: Objektorientierte Programmierung (Teil 4) Inhalt.
Universität Osnabrück 1 Inhalt 3 Objektorientierte Programmierung in Java Interfaces Definition Verwendung Implementierung mehrerer Interfaces Vorlesung 04: Objektorientierte Programmierung (Teil 4) Konstanten
MehrEinführung in die. objektorientierte Programmierung
Einführung in die objektorientierte Programmierung Teil 3 Vererbung Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik Prof. Dr. Gert Faustmann Fachbereich Berufsakademie
MehrInteraktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten
Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere
MehrVererbung. Martin Wirsing. Ziele. Vererbung
2 Ziele Martin Wirsing en Begriff der einfachen verstehen und Redefinition von Oberklassenmethoden verstehen spolymorphie verstehen ie Klasse Object kennenlernen in Zusammenarbeit mit Michael Barth, Philipp
MehrKapitel 1 - Widerholungsfragen
Kapitel 1 - Widerholungsfragen 1. Erklären Sie folgende Begriffe: Objekt Ein Objekt ist eine logische Einheit, bestehend aus zusammengehörigen Variablen und Routinen. Klasse Eine Klasse beschreibt die
MehrSoftware Engineering Klassendiagramme Einführung
Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt
Mehr5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:
MehrJava Schulung (Java 2 Java Development Kit 5 / 6)
2. Grundlagen der Objektorientierung 2.1 Klassen, Attribute, Methoden Klassen Eine Klasse beschreibt als Bauplan Gemeinsamkeiten einer Menge von Objekten ist also ein Modell, auf dessen Basis Objekte erstellt
MehrEinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2
EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22
Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
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
MehrKompetent objektorientiert programmieren
Kompetent objektorientiert programmieren Aegidius Plüss, Bern, www.aplu.ch Eine objektorientierte Programmiersprache steht auf drei fundamentalen Säulen: Klassenkapselung (encapsulation) Vererbung (inheritance)
MehrInformatik II Prüfungsvorbereitungskurs
Informatik II Prüfungsvorbereitungskurs Tag 2, 21.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Themenübersicht 20.3: Java 21.3: Objektorientierte Programmierung 22.3: Dynamische Datenstrukturen 23.3: Datenbanksysteme
MehrB Java RMI B.2 B.4. 1 Java. 1.2 Methoden. 1.1 Objekte (2) 1.1 Objekte. Objektorientierte Sprache. Klassenbeschreibung. Methode ist eine Art Funktion
1 Java 1.1 e B Java RMI orientierte Sprache e beschrieben in Klassendefinitionen und andere Datentypen: int, float, boolean, etc. referenzen Verweise auf e keine Zeiger, Adressen o.ä. B.1 B.2 1.1 e (2)
MehrObjektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ
Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die
MehrProgrammiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
MehrTEIL 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