FACHHOCHSCHULE MANNHEIM
|
|
- Lioba Hartmann
- vor 6 Jahren
- Abrufe
Transkript
1 Objektorientierte Programmierung 3. Vorlesung Prof. Dr. Peter Knauber FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Wiederholung: Begriffsübersicht Strukturierte vs. objektorientierte Programmierung Definitionen, Beispiele, Zitate: Methoden Operationen Polymorphismus Folie 1
2 der Objektorientierung Klassen Instanziierung Vererbung / Inheritance Attribute Polymorphismus Dynamische Bindung Initialisierung Methoden Operationen Mitteilungen / Messages Sichtbarkeit Kapselung Identität von n Struktur und Verhalten Delegation Objektorientierte Analyse (OOA) Objektorientiertes Design (OOD) Objektorientierte Programmierung (OOP) Objektorientiertes Testen Objektorientierte Wartung Folie 2 Ideen der Objektorientierung Software wird gesehen als eine Sammlung diskreter (entsprechend denen aus der realen Welt) inklusive ihrer (Daten-) Struktur und ihres Verhaltens. Das führt zu Datenorientierung (im Unterschied zum imperativen Stil) Programm / Algorithmen sind um Daten gruppiert Folie 3
3 Konzepte der strukturierten Programmierung Prozeduren stehen im Mittelpunkt Unterprogramme als wichtigste Strukturierungseinheit oft der Problemstellung nicht angemessen Konzentration auf algorithmische Abstraktion mangelnde Datenabstraktion, Information-Hiding Eingabe Prozedur Ausgabe Folie 4 Konzepte der objektorientierten Programmierung Daten () stehen im Mittelpunkt, bewirken eine Zustandsänderung Die Programmstruktur ist möglichst nahe an der Struktur des Problemfeldes orientiert Lokalitätsprinzip Objekt (Datum) Folie 5
4 Folie 6 Definition: Objekt Ein Objekt ist eindeutig identifizierbar, gehört zu einer Klasse, hat einen änderbaren Zustand in Form von Werten von Attributen, unterstützt (polymorphe) Operationen. Weitere Eigenschaften: Ein Objekt wird charakterisiert durch die, die es interpretieren kann, hat eine begrenzte Sicht auf andere (benutzt deren Operationen). Folie 7
5 Beispiel für 1/2 Identität: genau dieser Kreis Struktur: diese drei Attribute Identität: genau dieses Verschiebe (x, y) Klassenzugehörigkeit: Quadrat alle Quadrate haben - diese Struktur und -dieses Verhalten Verschiebe (x, y) :Kreis :Achsenparalleles-Quadrat Mittelpunkt x0=4, y0=6 Linke untere Ecke x0=2, y0=1 Radius r=3 Kantenlänge l=5 Klassenzugehörigkeit: alle Kreise haben - diese Struktur und -dieses Verhalten Berechne-Fläche () Berechne-Fläche () Verhalten: diese beiden Operationen Folie 8 Beispiel für 2/2 Verschiebe (x, y) Verschiebe (x, y) :Kreis Mittelpunkt Radius r=3 :Punkt x0=4, y0=6 Berechne-Fläche () Sicht auf andere : der Mittelpunkt ist durch ein Punkt-Objekt realisiert Folie 9
6 Alle Daten werden diskreten, unterscheidbaren Entitäten (also n) zugeordnet. Zur Erinnerung: [Objektorientierte] Software wird gesehen als eine Sammlung diskreter (...) inklusive ihrer (Daten-) Struktur und ihres Verhaltens. Alle sind unterscheidbar, auch wenn alle Attributwerte übereinstimmen. Möglichkeiten der Realisierung: Adresse im Speicher Spezielles, geschütztes Attribut (eindeutige Nummer)... Jedes Objekt gehört (eindeutig) zu einer Klasse; Näheres dazu gleich Folie 10 Folie 11
7 Beispiele für Konkrete... Ein Fahrrad Ein Fenster (in echt oder auf dem Bildschirm) Ein Textdokument Ein Absatz in einem Textdokument Ein Bankkonto... vs. abstrakte Ein Algorithmus Eine Zuteilungsstrategie für Betriebssystemressourcen Eine Datentabelle Folie 12 Zitate: 1/2 An object represents an individual, identifiable item, unit, or entity, either real or abstract, with a well-defined role in the problem domain. M. Smith & S. Tockey, 1988 A single object is simply an instance of a class. Grady Booch, 1991 An object has state, behavior, and identity; the structure and behavior of similar objects are defined in their common class. Grady Booch, 1991 Folie 13
8 Zitate: 2/2 Instead of a bit-grinding processor raping and plundering data structures, we have a universe of well-behaved objects that courtesly ask each other to carry out their various desires. D. Ingalls, 1981 An object by itself is intensely uninteresting. Grady Booch, 1991 Folie 14 Folie 15
9 , Operationen, Methoden Zur Erinnerung aus der Definition: Ein Objekt... unterstützt (polymorphe) Operationen. Wir haben bisher gesagt: senden und empfangen. Beim Empfang einer Nachricht vollzieht ein Objekt eine entsprechende Operation. Anders ausgedrückt: Eine Operation ist eine Aktion oder Transformation, die ein Objekt beim Empfang einer Nachricht ausführt (oder die auf dem Objekt ausgeführt wird). Die Interpretation der Operation obliegt dem Objekt. Eine spezifische Implementierung einer Operation innerhalb einer bestimmten Klasse heißt Methode. Folie 16 Definition: Polymorphismus Polymorphismus bedeutet, dass die gleiche Operation von verschiedenen n in unterschiedliches Verhalten umgesetzt werden kann. Eine Operation ist also eine Abstraktion analogen Verhaltens über verschiedene hinweg. Folie 17
10 Polymorphismus 1/3 Achtung: Im Sinne der Verständlichkeit/Nachvollziehbarkeit von Programmen sollte das verschiedene Verhalten nach Außen immer sinngemäß gleich (also analog) wirken! Beispiel: Die Nachricht Verschiebe sollte nicht zum Drehen eines Objekts führen... Folie 18 Polymorphismus 2/3 Implementierung von Polymorphismus: Auf Grundlage des Namens der Operation und der Klassenzugehörigkeit des betroffenen Objekts wird die passendste Methode ausgewählt. Wie das geschieht und welches die passendste Methode ist, ist abhängig von der verwendeten Programmiersprache (manchmal sogar programmierbar)! Hinweis: Der Benutzer einer Operation (Sender einer Nachricht) braucht nicht zu wissen, wie viele Methoden zur Auswahl stehen (oder ob überhaupt mehrere). Folie 19
11 Polymorphismus 3/3 Vorteil des objektorientierten Paradigmas: Beim Hinzufügen neuer Klassen braucht bestehender Code nicht verändert zu werden, vorausgesetzt, die neuen Klassen stellen entsprechende Methoden zur Verfügung (oder erben sie). Folie 20 Beispiel für Polymorphismus 1/2 Polymorphismus: gleiche Operation, (zufälligerweise) gleiche Realisierung Verschiebe (x, y): x0 := x0 + x; y0 := y0 + y; Verschiebe (x, y): x0 := x0 + x; y0 := y0 + y; :Kreis Mittelpunkt x0=4, y0=6 Radius r=3 :Achsenparalleles-Quadrat Linke untere Ecke x0=2, y0=1 Kantenlänge l=5 Berechne-Fläche (): result := r*r*pi Berechne-Fläche (): result := l*l Polymorphismus: gleiche Operation, Folie 21 verschiedene Realisierung
12 Beispiel für Polymorphismus 2/2 Benutzen anderer : die Verschiebe-Operation wird durchgereicht oder delegiert Verschiebe (x, y): Mittelpunkt.Verschiebe(x, y) Verschiebe (x, y): x0 := x0 + x; y0 := y0 + y; :Kreis Mittelpunkt Radius r=3 :Punkt x0=4, y0=6 Berechne-Fläche (): result := r*r*pi Polymorphismus: gleiche Operation, verschiedene Realisierung Folie 22 Folie 23
13 der Objektorientierung Klassen Instanziierung Vererbung / Inheritance Attribute Polymorphismus Dynamische Bindung Initialisierung Methoden Operationen Mitteilungen / Messages Sichtbarkeit Kapselung Identität von n Struktur und Verhalten ( ) Delegation Objektorientierte Analyse (OOA) Objektorientiertes Design (OOD) Objektorientierte Programmierung (OOP) Objektorientiertes Testen Objektorientierte Wartung Folie 24 Noch ein Zitat... Just as the person holding a hammer tends to see everything in the world as a nail, so the developer with an object-oriented mindset begins to think that everything in the world is an object. Grady Booch, 1991 Folie 25
14 Ausblick Klassen und ihre Instanziierung Die Notation von n Klassen Attributen Operationen OO Entwurf nach Booch Ein Beispiel Vererbung Die Notation von Vererbung Folie 26
FACHHOCHSCHULE MANNHEIM
Objektorientierte Programmierung 5. Vorlesung Prof. Dr. Peter Knauber FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Objektorientierter Entwurf nach Folie 1 Folie 2 Objektorientierter Entwurf
Mehr1.3 Charakteristische Eigenschaften von objektorientierten Systemen
1.3 Charakteristische Eigenschaften von objektorientierten Systemen Einkapselung (Encapsulation) Geheimhaltungsprinzip (Information / Implementation hiding) Persistenz (State retention) Objektidentität
MehrObjektorientierte Softwareentwicklung
Objektorientierte Softwareentwicklung Analyse- und Designmethoden Analyse- & Designmethoden Strukturierte, traditionelle Methoden Objektorientierte Methoden Funktionsorientierte Methoden Datenorientierte
MehrObjektorientierte Programmierung (OOP)
orientierte Programmierung (OOP) 1. Motivation Die objektorientierte Sichtweise der Welt Als Motivation für die OOP sieht man sich am besten die reale Welt an: Die reale Welt besteht aus "en", z. B.: Gegenstände,
MehrEinführung in die Objektorientierung (OO)
Einführung in die Objektorientierung (OO) I) Warum OO? II) Grundbegriffe der OO III) IV) Darstellung von Klassen und Objekten Kapselung I) Warum OO? 1) Früher: Prozedurale / strukturierte Programmierung
MehrEinführung in die Objektorientierung
Rainer Schmidberger schmidrr@informatik.uni-stuttgart.de Objektorientiert daisy : Kunde Nein Prozedural Schleife über alle Projekte Noch was zu tun? Ja Daten Progr. dagobert : Manager 2. angebot Manager
MehrObjektorientiertes Software-Engineering
Objektorientiertes Software-Engineering TIT99BPE/TIT99CPE BA Mannheim WS 2001/2 F. Schönleber Organisatorisches Kurs 1: TIT99BPE 6.Studienhalbjahr Termin Mo. 13.00 14.30 Raum: 037B Kurs 1: TIT99CPE 6.Studienhalbjahr
MehrKapitel
10.11.005 Kapitel 4-10.11.005 Lehrbeispiel: Sortieralgorithmus " Bubble Sort" Sortieren von Primitivtypen Der "Abstrakte Datentyp" Grundlagen der Objektorientierung: Abstraktion, Kapselung, Modularität,
MehrEinführung in die Objektorientierung
Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de Objektorientiert daisy : Kunde 2. angebot Nein Prozedural Schleife über alle Projekte Noch was zu tun? Manager informieren... Ja Daten
MehrEinführung in die Objektorientierung
Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de Objektorientiert daisy : Kunde 2. angebot Nein Prozedural Schleife über alle Projekte Noch was zu tun? Manager informieren... Ja Daten
MehrObjekt-orientierte Programmierung
Objekt-orientierte Programmierung Eine (sehr) kurze Einführung Daniel Lübke Gliederung Motivation Grundlagen (Objekte, Klassen, Vererbung) Interfaces Klassenvariablen
MehrProgrammieren 2 C++ Überblick
Programmieren 2 C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 5. Behälter und Iteratoren 6. Templates
MehrQualitätssicherung von Software
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST 2.4 OO-Test 26.11.2004 Folie 2 Kapitel 2. Testverfahren 2.1 Testen im SW-Lebenszyklus 2.2
MehrFACHHOCHSCHULE MANNHEIM
Objektorientierte Programmierung 2. Vorlesung Prof. Dr. Peter Knauber Email: P.Knauber@fh-mannheim.de FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Kurzer Vor der Objektorientierung Programmierstile
MehrProgrammierparadigmen
Programmierparadigmen Paradigma = Denkweise oder Art der Weltanschauung klassische Einteilung: Programmiersprache imperativ deklarativ prozedural objektorientiert funktional logisch Zusammenhänge tatsächlich
MehrLehrstuhl für Wirtschaftsinformatik Prof. Dr. Roland Gabriel
Objektorientierte Programmierung Lehrstuhl für Wirtschaftsinformatik Prof. Dr. Roland Gabriel Der Mensch als Referenz The mechanism of human thought and communication have been engineered for a millions
MehrObjektorientierte Programmierung
Objektorientierte Programmierung Objektorientierte Programmierung Ronja Düffel WS2018/19 09. Oktober 2018 Objektorientierte Programmierung Überblick 1 Was ist das? 2 Wie geht das? 3 Warum gibt es das?
MehrOOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE
OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE Nutzung des AMCS (Auditorium Mobile Classroom Service) https://amcs.website Einloggen/Registrieren mit beliebigem Pseudonym Passwort Kurs Softwaretechnologie PIN:
MehrProgrammierparadigmen A01 OOP. Programmierparadigmen
2013-10-09 Programmierparadigmen 1 185.A01 OOP Programmierparadigmen 2013-10-09 Programmierparadigmen 2 OOP Klassische Programmierparadigmen Paradigma = Denkweise oder Art der Weltanschauung klassische
MehrObjektorientierte Programmierung II
Objektorientierte Programmierung II OOP I Erlaubt Entwicklers, im Problemraum zu denken und zu arbeiten. Das Problem wird in eine Menge von Objekten zerlegt. Objekte wirken aufeinander, um das Problem
MehrAuf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs...
Auf einen Blick Auf einen Blick 1 Einleitung... 15 2 Die Basis der Objektorientierung... 29 3 Die Prinzipien des objektorientierten Entwurfs... 41 4 Die Struktur objektorientierter Software... 67 5 Vererbung
MehrPraxisbuch Objektorientierung
Bernhard Lahres, Gregor Rayman Praxisbuch Objektorientierung Von den Grundlagen zur Umsetzung Galileo Press 1.1 Was ist Objektorientierung? 11 1.2 Hallo liebe Zielgruppe 12 1.3 Was bietet dieses Buch (und
Mehr10. Programmierungs-Phase: Objektorientierung Software Engineering
10. Programmierungs-Phase: Objektorientierung Software Engineering Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 15. Dezember 2005 Einordnung in den Kontext
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
MehrObjektorientierte Konzepte
Objektorientierte Konzepte Objekt Klasse enthaltender Polymorphismus (Untertypen) Vererbung Objektorientierte Programmierung, Grundlagen und Ziele 1 Objekt Objekt kapselt Variablen und Routinen Interaktionen
MehrObjektorientierte Programmierung
Bernhard Lahres, Gregor Rayman Objektorientierte Programmierung Das umfassende Handbuch Galileo Press 1.1 Was ist Objektorientierung? 13 1.2 Hallo liebe Zielgruppe 14 1.3 Was bietet dieses Buch (und was
Mehr7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik
7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Objektorientierung in C++ (3) Aspekte der Vererbung (1) Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 546 Zuweisung bei Vererbung Dr. Frank Seifert Vorlesung
MehrKonzepte der Programmiersprachen
Konzepte der Programmiersprachen Sommersemester 2010 4. Übungsblatt Besprechung am 9. Juli 2010 http://www.iste.uni-stuttgart.de/ps/lehre/ss2010/v_konzepte/ Aufgabe 4.1: Klassen in C ++ Das folgende C
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel Alina Stürck WS2016/17 11. Oktober 2016 Objektorientierte Programmierung OOP 1 Was ist das? 2 Wie geht das? 3 Warum
MehrProgrammierung im Grossen
1 Letzte Aktualisierung: 16. April 2004 Programmierung im Grossen Bertrand Meyer 2 Vorlesung 4: Abstrakte Daten-Typen Übungen 3 Passe die vorhergehende Spezifikation von Stacks (LIFO, Last-In First-Out
Mehr5.2 Entity-Relationship-Modell
5.2 Entity-Relationship-Modell Mod-5.8 Entity-Relationship-Modell, ER-Modell (P. Chen 1976): Kalkül zur Modellierung von Aufgabenbereichen mit ihren Objekten, Eigenschaften und Beziehungen. Weitergehende
MehrEinführung in die objektorientierte Programmierung
Einführung in die objektorientierte Programmierung Seminarunterlage Version: 4.04 Copyright Version 4.04 vom 17. Juni 2016 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten.
MehrFACHHOCHSCHULE MANNHEIM
Objektorientierte Programmierung 11. Vorlesung Prof. Dr. Peter Knauber FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Die 2. lgruppe von KobrA: : le der : e Folie 1 Zur Erinnerung: 1. lgruppe:
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
MehrGeoinformation I Datenmodellierung
Seite 1 von 61 Geoinformation I Datenmodellierung Seite 2 von 61 Datenmodellierung Übersicht Datenverwaltung und Datenbanken objektorientierte Abbildung der Realität Grundlagen der Objektorientierung Darstellung
MehrEinführung in die Programmierung Wintersemester 2008/09
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 : Virtuelle Methoden Vererbung bisher: Definition
MehrIDEE: Paralleles Modellieren von Funktionen (Methoden) und Daten. Ein Objekt ist die softwaretechnische Einheit, die Daten und Funktionen enthält.
3.Einführung Objektorientierung (was kennzeichnet OO?) Was sie lernen (notieren Sie): Die Idee der Objektorientierung Vorteile der Objektorientierung Grundbegriffe und Ausdrucksweisen der OO Mechanismen
MehrEinführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)
Wintersemester 2006/07 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl
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
MehrProgrammieren in JAVA. Kapitel 0
FG TECHNISCHE INFORMATIK V JV 000 00 TH 01 Programmieren in JAVA Kapitel 0 0. Grundkonzepte der Objektorientierten Programmierung 0.1. Objekte und Klassen 0.2. Kapselung 0.3. Vererbung 0.4. Polymorphie
MehrObjektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl 26.07.21 Themenübersicht Objektorientierte Software-Entwicklung Objektorientierte Analyse und Design OOA OOD Objektorientierte
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]
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
MehrObjektorientierung. Objekte
Eine Einführung G. Futschek Objekte Objekte Fragen: Wie unterscheiden sich Objekte? Wie sind Objekte einander ähnlich? Was können Objekte? Wie stehen Objekte zueinander in Beziehung? Objekte Im täglichen
MehrJava-Programmierung mit NetBeans
Java-Programmierung mit NetBeans Klassen, Objekte, Alternativen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Grundlegende Definitionen - Objekt Ein Objekt ist allgemein ein Gegenstand
MehrInformationsverarbeitung im Bauwesen
12 im Bauwesen Markus Uhlmann 1 Zusammenfassung der 11. Vorlesung Objektorientierte Programmierung (OOP) Wozu eigentlich? Was unterscheidet OOP von traditionellen Techniken? Verwendung von vordefinierten
MehrPraktische Softwaretechnologie
Praktische Softwaretechnologie Martin Giese Johann Radon Institute for Computational and Applied Mathematics Österr. Akademie der Wissenschaften Linz PSWT 2006 p.1/31 Organisation PSWT 2006 p.2/31 Bestandteile
MehrUML (Unified Modelling Language) von Christian Bartl
UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...
Mehr7. Zusammenfassung (1)
Typisierung in OO-Sprachen Subtyping vs. Subclassing Untertypen für Typkonstrukte Funktionsuntertypen und Überschreiben Generik Einsatz von Vererbung konzeptioneller Entwurf: Abstraktion Spezialisierung
MehrGliederung der Folien
1 Gliederung der Folien 1. Einführung 1.1. Gliederung 1.2. Literatur 1.3. Einstieg in Java 1.3.1. Geschichte von Java 1.3.2. Hello World 1.3.3. Übersetzen eines Java-Programms 1.4. Die Entwicklungsumgebung
MehrLehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++
Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung welche Objekte bzw. Klassen werden benötigt? welche Information wird benötigt, um ein Objekt zu beschreiben? welche Beziehungen bestehen
MehrSoftware-Entwurfsmuster (weitere) A01 OOP. Software-Entwurfsmuster (weitere)
2014-01-08 Software-Entwurfsmuster (weitere) 1 185.A01 OOP Software-Entwurfsmuster (weitere) 2014-01-08 Software-Entwurfsmuster (weitere) 2 OOP Vererbung versus Delegation class A { public void x() { z();
MehrHydroinformatik I: Klassen
Hydroinformatik I: Klassen Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 27. November 2015 1/13 Prof.
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
MehrProgrammieren I. Überblick Objektorientierung Heusch 12 Ratz 7. Institut für Angewandte Informatik
Programmieren I Überblick Objektorientierung Heusch 12 Ratz 7 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Objektorientierte Softwarenentwicklung Was ist das grundlegende Konzept
MehrHydroinformatik I - WiSe 2018/2019 V5: Klassen
Hydroinformatik I - WiSe 2018/2019 V5: Klassen Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden 3 Center for Advanced
MehrDie Klasse Vertiefung
Die Klasse Vertiefung Vom Objekt zur Klasse Basis des OO-Paradigmas ist (wen verwundert es): Das Objekt Objekte werden in der Lehre und im allgemeinen Programmier-Jargon selbstverständlich mit Klassen
MehrEinführung in die Objektorientierte Programmierung Vorlesung 2: Mikroskopisches und Makroskopisches Computational Thinking.
Einführung in die Objektorientierte Programmierung Vorlesung 2: Mikroskopisches und Makroskopisches Computational Thinking Sebastian Küpper Das makroskopische Modell: Objekte Objekt: Abbild konkreter individuell
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?
Mehr11. Komponenten Grundlagen der Programmierung 1 (Java)
11. Komponenten Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 10. Januar 2006 Einordnung im Kontext der Vorlesung
Mehr13 Abstrakte Datentypen
13 Abstrakte Datentypen Bisher: Konkrete Datentypen Menge von Elementen Operationen auf den Elementen (Konstruktoren, Selektoren, Typprädikate) Eigenschaften abgeleitet Jetzt: Abstrakte Datentypen (ADT)
MehrSoftwaretechnik WS 16/17. Übungsblatt 01
Softwaretechnik WS 16/17 Übungsblatt 01 Was ist eine Klasse? Definition der Object Management Group: A class describes a set of objects that share the same specifications of features, constraints, and
MehrPrinzipien der objektorientierten Programmierung (OOP)
Die Ziele der OOP sind: - bessere Warbarkeit - Wiederverwendbarkeit 1.) Datenkapselung Prinzipien der objektorientierten Programmierung (OOP) Komplexe Datenstrukturen (wie zb ein Stack) werden vom Anwendungsprogramm
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
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der
MehrSystemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 5 -
Systemanalyse - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 5 - Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule
MehrInformationsverarbeitung im Bauwesen
1/21 Informationsverarbeitung im Bauwesen Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2010/2011 Vorlesung 8
MehrHydroinformatik I: Klassen
Hydroinformatik I: Klassen Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 11. November 2016 1/20 Prof.
MehrObjektorientierte Programmierung. Agenda für heute, 26. März, Eines der drei wichtigsten Programmierparadigmen
Agenda für heute, 26. März, 2009 Imperatives vs. objektorientiertes Programmieren Lesen Sie den Begleittext Seite 79 85 Eines der drei wichtigsten Programmierparadigmen (Paradigma: Denkmuster) Imperative
MehrPolymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 20 Polymorphie/Späte Bindung Abstrakte Klassen Interfaces 2 / 20 Definition: Polymorphie Der Begriff Polymorphie (manchmal
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
MehrObjektorientiertes Programmieren
JL Ute Claussen Objektorientiertes Programmieren Mit Beispielen und Übungen in C++ Zweite, überarbeitete und erweiterte Auflage Mit 24 Abbildungen Springer Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist
MehrObjektorientierte Programmierung Teil 1: Einführung
Objektorientierte Programmierung Teil 1: Einführung Prof. Dr. Schoop FHT Esslingen, Sommersemester 2005 Agenda Beispielszenario Eigenschaften des objektorientierten Ansatzes Konzepte des objektorientierten
Mehr2. Objektorientierter Entwurf
2. Objektorientierter Entwurf 2.1 Grundlagen der Objektorientierung Ein Vorgehen heißt objektorientiert, wenn es sich bei der Modellbildung an den Gegenständen der Realität orientiert die Modelle auf der
MehrDas Softwaresystem BASEMENT
Numerische Modellierung von Naturgefahren mit dem Softwaresystem BASEMENT Workshop vom 6. Oktober 2006 an der VAW ETH Zürich Das Softwaresystem BASEMENT David Vetsch Inhalt 1. Motivation und Entstehungsgeschichte
MehrObjektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern
Thema Objektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern Referent: Frank Sanders Seite 1 Inhalt Der Vortrag hat einen sehr kurzen Einleitungsteil der sich mit Objektorientierung
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
MehrAbschnitt 10: Datenstrukturen
Abschnitt 10: Datenstrukturen 10. Datenstrukturen 10.1Einleitung 10.2 Peer Kröger (LMU München) Einführung in die Programmierung WS 16/17 829 / 867 Einleitung Überblick 10. Datenstrukturen 10.1Einleitung
MehrEinführung in die Informatik 1
Einführung in die Informatik 1 Objektorientierung Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v.
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,
MehrObjektorientierung. Grundlagen und Modellierung
Objektorientierung Grundlagen und Modellierung Inhalt Motivation Was sind Objekte Grundeigenschaften Objektorientierter Programmierung Schnellkurs zu UML (Unified Modelling Language) 2 Motivation Die Bedeutung
MehrJava-Grundkurs für Wirtschaftsinformatiker
Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für Wirtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung - Fortgeschrittene Konzepte kennenlernen - Betriebswirtschaftlich
MehrWESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER. Advanced Matlab. living knowledge WWU Münster. Mario Ohlberger, Martin Drohmann, Stefan Girke 10/05/2012
MÜNSTER Advanced Matlab Mario Ohlberger Martin Drohmann Stefan Girke 10/05/2012 Cell Array MÜNSTER 2 /12 Datentyp der beliebige Werte (nicht nur Zahlen) in Zellen speichert die wie einer Matrix oder einem
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
Mehr7. Objektorientierung. Informatik II für Verkehrsingenieure
7. Objektorientierung Informatik II für Verkehrsingenieure Klassen, Objekte und Attribute Buslinie und Haltestellen 3 Haltestellen und deren Eigenschaften Bauplan einer Haltestelle (Struktur) Konkrete
MehrBuchvorstellung Domain-Driven Design
Buchvorstellung Domain-Driven Design XPUG FFM 20 Bastiaan Harmsen Copyright Software Team GmbH, Bastiaan Harmsen 1 Standardattribute Domain-Driven Design Eric Evans Addison-Wesley ISBN 0-321-12521-5 $49,99
MehrDatentypen. strukturierte. elementare. skalare reelle statische dynamische int. list. real float. set. record. inhomogen. homogen
Datentypen elementare strukturierte skalare reelle statische dynamische int real float list homogen set inhomogen record Der elementare Datentyp nat bestehend aus einer Objektmenge und den darauf definierten
Mehr2. JAVA-Programmierung. Informatik II für Verkehrsingenieure
2. JAVA-Programmierung Informatik II für Verkehrsingenieure Problem-Algorithmus-Umsetzung Problemstellung Algorithmus Umsetzung 2 Beispiele für Algorithmen 3 Definitionsversuch Algorithmus Anleitung, wie
MehrObjektorientierte Programmierung. Agenda für heute, 1. April, Eines der drei wichtigsten Programmierparadigmen
Agenda für heute, 1. April, 2010 Imperatives vs. objektorientiertes Programmieren Lesen Sie den Begleittext Seite 79 85 Eines der drei wichtigsten Programmierparadigmen (Paradigma: Denkmuster) Imperative
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
MehrUnified Modelling Language
Unified Modelling Language SEP 72 Software-Entwicklung Software-Entwicklung ist Prozess von Anforderung über Modellierungen zu fertigen Programmen Anforderungen oft informell gegeben fertige Programme
MehrJava-Grundkurs für rtschaftsinformatiker
Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für rtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung- Fortgeschrittene Konzepte kennenlernen Betriebswirtschaftlich orientierte
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens mit C++ und Matlab SS2013 Inhalt Übungsbesprechung (Wiederholung) Wie
MehrGrundlagen 1: Modelle & Mengen
Michael Wand Institut für Informatik. Angewandte Mathematik am Rechner 1 SOMMERSEMESTER 2017 > Kapitel 2 Grundlagen 1: Modelle & Mengen 2.1 Modelle Grundlagen der Modellierung
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0
9 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Gerüstbeispiel Ein Duo, Quarto oder Sexto ist ein Gerüst. Die Klassen Duo, Quarto und Sexto sollen durch Vererbung
MehrSoftware Engineering
Software Engineering Gustav Pomberger, Wolfgang Pree Architektur-Design und Prozessorientierung ISBN 3-446-22429-7 Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22429-7 sowie
Mehr