Abstrakte Datentypen. EntryStack top : StackEntry pop : Stack Stack. pop : Stack Stack empty : Stack boolean. empty : Stack boolean. Algebraische A.D.
|
|
- Louisa Lichtenberg
- vor 5 Jahren
- Abrufe
Transkript
1 Vererung Rüklik en, Stapel, Wartehlangen Thoma Röfer Pakete Vererung Frühe / päte inden Lokale Klaen Zugriffhutz trakte Klaen und Shnitttellen Mehrfahe Eren trakte Datentypen reate reate puh puh Entry Entry top Entry top Entry pop pop empty oolean empty oolean lgeraihe.d. top(puh(, top(puh(, ) ) e e pop(puh(, pop(puh(, ) ) empty(reate()) empty(reate()) empty(puh(, ) empty(puh(, ) top top 4.puh(6) entrie Queue PI Vererung.pop() Stapel Wartehlange q.puh("6") lat lat 9 9 entrie "7" "5" "" "" "7" "8" "4" "9" "" "6" Einfah verkettete e q.pop() DL DL lat lat Doppelt verkettete e DL DL DL DL DL DL Pakete (Pakage) Konzept Klaen dienen zum Zuammenfaen von Methoden und ttriuten Pakete dienen zum Zuammenfaen von Klaen und weiterer Pakete Im Quelltext m nfang pakage Paketname. Paketname Namenraum importieren import Paketname. Paketname. ( * Klaenname ) Im Dateiytem Pakete werden al Ordner repräentiert In luej Ein neue Paket kann man mit eareiten Neue Paket erzeugen Pakete werden fat wie eigene Projekte ehandelt java.lang.sytem.out.prln("hallo") Paket Paket Klae ttriutmethode PI Vererung Vererung und ageleitete Klaen Vererung Erlaut die Modellierung der ia Relation zwihen Klaen Wenn Klae von Klae ert, it die Unterklae (u / ageleitete Kla der Oerklae (uper / aikla Ziele Wiederverwendung von ode Untertützung von Polymorphie Sihtweien geleitete Klae it Erweiterung der aiklae aiklae it allgemeiner, ageleitete Klae it pezieller Reale Vererung / virtuelle Vererung Eine Methode wird real verert, wenn die ageleitete Klae die Methode wiederverwendet Eine Methode wird virtuell verert, wenn die ageleitete Klae die Methode üerhreit PI Vererung 4 Vererung eipiel Vererung eipiel Seriennr; Seriennr; etseriennr() etseriennr() Stellung Stellung ; ; Drehzahl Drehzahl d; d; ; ; TNode TNode T T data; data; etdata(t etdata(t data data d; d; T T getdata() getdata() data; data; PI Vererung 5 PI Vererung 6
2 Üerhreiung Üerhreiung von Methoden Eine ageleitete Klae definiert eine Methode mit derelen Signatur wie ihre aiklae Üerhreien durh Methode mit derelen Parameterlite aer anderem Rükgaetyp niht erlaut Wurde eine Methode al final deklariert, kann ie niht üerhrieen werden Üerhreiung von ttriuten Der Zugriff auf ttriute erfolgt durh frühe indung (alo zur Kompilierzeit) fn( fn( fn( fn( final final fn( fn( fn( fn( Üerhreiung Üerhreiung * * uper.fn(; uper.fn(; ufruf ufruf der der aiklaenmethode aiklaenmethode fn(doule fn(doule Üerladung Üerladung doule doule fn( fn( Fehler Fehler gleihe gleihe Parameterlite, Parameterlite, anderer anderer Rükgaetyp Rükgaetyp fn( fn( Fehler Fehler Üerhreiung Üerhreiung niht niht erlaut erlaut PI Vererung 7 Virtuelle Methoden und päte inden Virtuelle Methoden Methoden ezeihnet man al virtuell, wenn man üer eine Referenz vom Typ einer aiklae eine Methode einer ageleiteten Klae aufrufen kann In Java ind alle Methoden virtuell Späte inden Wenn ert zur Laufzeit eine Programm enthieden werden kann, welhe (virtuell Methode aufgerufen wird, ezeihnet man die al päte oder dynamihe inden Virtuelle Methodentaellen Zur Realiierung de päten inden enthält jede JavaOjekt eine vertekte Referenz auf die virtuelle Methodentaelle einer Klae Darin tehen die dreen der Methoden, die für ein Ojekt dieer Klae aufgerufen werden müen PI Vererung 8 Frühe inden / Späte inden Virtuelle Methodentaellen ; () () ; ; getvalue() ; ; () () ; ; getvalue() ; a (); Sytem.out.prln(a.); Sytem.out.prln(a.getValue()); uper fn fn fn uper fn fn fn() fn() fn() fn() a a (); (); a.fn(); a.fn(); (); ();.fn();.fn();.;.;.fn();.fn(); Kompilierfehler! Kompilierfehler! PI Vererung 9 PI Vererung Kontruktoren Standardkontruktor eipiele Standardkontruktor Wenn man keine Kontruktoren definiert, erzeugt Java automatih einen Kontruktor ohne Parameter (nur dann) Kontruktionreihenfolge Ojekte werden immer von der aiklae zur ageleiteten Klae kontruiert Um einen anderen al den Standardkontruktor der aiklae auzuführen, mu die erte Zeile eine Kontruktor uper( ) enthalten It die niht o, führt Java automatih uper() am nfang au Hinwei Innerhal eine Kontruktor einer aiklae kann man Methoden einer ageleiteten Klae aufrufen, evor deren Kontruktor ageareitet wurde! ( (a) a) Sytem.out.prln(a); (doule (doule uper(() uper(() ; ; () () Fehler Fehler () () niht niht definiert definiert a; a; i; i; ( ( thi.i thi.i i; i; a 7; 7; PI Vererung PI Vererung
3 Kontruktionreihenfolge eipiel () () Sytem.out.prln(" Sytem.out.prln(" it it kontruiert"); pr(); kontruiert"); pr(); pr() pr() Sytem.out.prln(" Sytem.out.prln(" wurde wurde aufgerufen"); aufgerufen"); () () Sytem.out.prln(" Sytem.out.prln(" it it kontruiert"); pr(); kontruiert"); pr(); pr() pr() Sytem.out.prln(" Sytem.out.prln(" wurde wurde aufgerufen"); aufgerufen"); Typumwandlung in Klaenhierarhie In Rihtung aiklae utomatihe Typumwandlung a (); In Rihtung ageleitete Klae Durh explizite Typumwandlung (ating) () a; Fall niht möglih, wird laatexeption erzeugt a (); () a; Typafrage zur Laufzeit if(a intaneof ) () a; PI Vererung PI Vererung 4 Lokale Klaen Lokale Klaen eipiel Eine Klae it lokal, wenn ie innerhal einer anderen Klae definiert wird Statihe lokale Klaen Eine tatihe lokale Klae unterheidet ih außer in ihrer Sihtarkeit niht von gloalen Klaen Statihe Methoden und ttriute der üergeordneten Klae liegen im Sihtarkeitereih der lokalen Klae Ojektlokale Klaen Ojekte von nihttatihen, lokalen Klaen enthalten eine vertekte Referenz auf da Ojekt der üergeordneten Klae, in deen Kontext ie erzeugt wurden Damit haen ie Zugriff auf deen Methoden und ttriute, d.h. diee efinden ih im Sihtarkeitereih der lokalen Klae ; ; pr() pr() Sytem.out.prln(); Sytem.out.prln(); pr() pr() Sytem.out.prln("Hello"); Sytem.out.prln("Hello"); () () ; ; (); ();.pr();.pr(); (); ();.pr();.pr(); hello() hello() (); ();.pr();.pr(); (); (); PI Vererung 5 PI Vererung 6 Zugriffhutz Indizierte e mit Zugriffhutz Zwek Dient der Kapelung der Funktionalität einer Klae Vertekt die erne Implementierung der Funktionalität Je kleiner die öffentlihe Shnitttelle, deto flexiler kann die erne Implementierung angepat werden, ohne andere Klaen ändern zu müen Steigert die Wartarkeit von Software! Zugriffmodifizierer (ae modifier) (kann niht vor gloalen Klaen tehen) Klaen, Methoden und ttriute können nur innerhal derelen Klae genutzt werden proteted (kann niht vor gloalen Klaen tehen) Klaen, Methoden und ttriute können nur innerhal derelen Klae und von ihr ageleiteten Klaen genutzt werden Keine ngae Klaen, Methoden und ttriute können nur innerhal deelen Paket genutzt werden Klaen, Methoden und ttriute können üerall genutzt werden ; ; ( ( ; ; () () at( at( ; ; while(po while(po!! ) ).;.; po; po; ; ; get( get( at(. at(. et( et( at(. at(. PI Vererung 7 PI Vererung 8
4 trakte Klaen Shnitttellen (Interfae) Eine Klae it atrakt, wenn mindeten eine Methode atrakt it, d.h. ihre Signatur zwar angegeen, aer niht implementiert it Ojekte atrakter Klaen können niht kontruiert werden, wohl aer Ojekte ageleiteter Klaen, ei denen alle atrakten Methoden implementiert wurden Nutzen trakte Klaen erlauen die Implementierung einer Teilfunktionalität, ei der etimmte Detail offen gelaen werden Durh die atrakten Methoden werden ageleitete Klaen dazu verpflihtet, diee zu implementieren atrat atrat eriennummer; eriennummer; atrat atrat ; ; Stellung Stellung ; ; Drehzahl Drehzahl d; d; m m (); (); m.; m.; g g (); (); Shnitttellen definieren auhließlih Kontanten und atrakte Methoden Wenn eine Klae Shnitttellen implementiert, mu ie die darin vereinarten Methoden definieren Zudem ert ie die vereinarten Kontanten nmerkungen lle Methoden ind atrat lle Methoden und Kontanten in Shnitttellen ind erfae erfae Prale Prale pr(); pr(); erfae erfae Drawale Drawale draw(); draw(); implement implement Prale, Prale, Drawale Drawale pr() pr() draw() draw() Prale Prale p p (); (); p.pr(); p.pr(); Drawale Drawale d d (Drawal (Drawal p; p; d.draw(); d.draw(); PI Vererung 9 PI Vererung Mehrfahe Eren egriff Eine Klae ert von mehreren anderen Klaen Multiple Inheritane oft falh üeretzt al Mehrfahvererung Rihtiger mehrfahe (er)eren In Java Eren von mehreren Klaen oder atrakten Klaen wird niht untertützt Eren von mehreren Shnitttellen (Interfae) it möglih Mehrfahe Eren Vorteile It manhmal dem Prolem angemeen Rooter MoilePlattform, rm Rooter r Rooter(); MoilePlattform m r; rm r; Nahteile Komplexität der Programmierprahe teigt leitunghierarhien ind azyklihe, gerihtete Graphen uper niht mehr eindeutig (in ++ daher tatt uper immer Name der aikla Komplexe roating notwendig rm m; Unterheidung zwihen Eren per Wert und Eren per Referenz wird notwendig PI Vererung PI Vererung Die Klae Generihe indizierte e Wenn ei einer Klae keine aiklae angegeen wird, ert ie direkt von der Klae (Java fügt ozuagen ein) nonten wird indirekt von geert, da die aiklae entweder direkt oder wiederum indirekt von ert Nutzen enthält Methoden, die omit in jeder Klae zur Verfügung tehen equal(), lone(), tostring(), Diee müen aer in ageleiteten Klaen paend üerhrieen werden Generihe Programmieren Referenzen auf können auf jede JavaOjekt verweien Daher kann man polymorphe Methoden hreien, die mit allen Ojekten funktionieren Referenzen auf werden in ontainern verwendet (univerelle Datenpeiher, z.. java.util.rray oder java.util.e ; ; ( ( ; ; () () at( at( ; ; while(po while(po!! ) ).;.; po; po; ; ; get( get( at(. at(. et( et( at(. at(. PI Vererung PI Vererung 4 4
5 Generihe indizierte e inertefore( inertefore( remove( remove( if(po if(po ) ) Elem Elem.;.; (; (; ele ele if(po if(po ) ) ); ); Elem. Elem. ; ;....;..; Elem; Elem; ele ele oolean oolean empty() empty() ); ); Elem. Elem..;.;.. Elem; Elem; l l (); (); l.inertefore(, l.inertefore(, "Hello"); "Hello"); l.inertefore(, l.inertefore(, Integer()); Integer()); String String (String) (String) l.get(); l.get(); PI Vererung 5 5
Vererbung. Thomas Röfer. Pakete Vererbung Frühes / spätes Binden Lokale Klassen Zugriffsschutz Abstrakte Klassen und Schnittstellen Mehrfaches Erben
Vererbung Thomas Röfer Pakete Vererbung Frühes / spätes Binden Lokale Klassen Zugriffsschutz bstrakte Klassen und Schnittstellen Mehrfaches Erben Rückblick Listen, Stapel, Warteschlangen bstrakte Datentypen
MehrVererbung. Thomas Röfer
Vererbung Thomas Röfer Pakete Vererbung Frühes / spätes Binden Lokale Klassen Zugriffsschutz bstrakte Klassen und Schnittstellen nonyme Klassen Mehrfaches Erben Rückblick Listen, Stapel, Warteschlangen
MehrGenerisches Programmieren
Generiche Programmieren homa Röfer Generiche Klaen und Interface Generiche ypen ypebound Wildcard-ypen Überetzung genericher Klaen Grenzen genericher ypen Polymorphe Methoden Rückblick Vererbung Pakete
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte
MehrInformatik II Übung 6
Informatik II Übung 6 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 11.4.2018 Carina Fuss 11.4.2018 1 Übung 6 Nachbesprechung Übung 5 Objektorientierung Vererbung, Polymorphie, abstrakte Klassen, Interfaces,
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
Mehr1 Einleitung Generizität Syntax... 2
Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 1 1.1 Generizität................................ 1 1.2 Syntax.................................. 2 2 Realisierung 2 2.1 Compilierung generischer Klassen...................
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
Mehr12 Abstrakte Klassen, finale Klassen und Interfaces
12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
MehrProgrammieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik
Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen
MehrNachklausur Lösung. Bitte in Druckschrift leserlich ausfüllen!
Informatik für Informationsmanger I SS 2006 Universität Kolenz-Landau Institut für Informatik Prof. Dr. Steffen Staa Dr. Manfred Jackel Nachklausur 13.04.2007 Lösung Bitte in Druckschrift leserlich ausfüllen!
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
MehrPolymorphie. 15. Java Objektorientierung II
432 Polymorphie 15. Java Objektorientierung II Objektorientierung: Verschiedene Aspekte 433 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen zuweisen
MehrPolymorphie. 15. Java Objektorientierung II
446 Polymorphie 15. Java Objektorientierung II Objektorientierung: Verschiedene Aspekte 447 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen zuweisen
MehrIT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1
IT I: Heute abstrakte Methoden und Klassen Interfaces Interfaces List, Set und Collection 22.11.2018 IT I - VO 7 1 Wissensüberprüfung Überschreiben von Methoden: Aufruf der Methode der Oberklasse ist oft
MehrDas Interface-Konzept am Beispiel der Sprache Java
Das Interface-Konzept am Beispiel der Sprache Java Klaus Kusche, November 2013 Inhalt Motivation: Wozu braucht man Interfaces? Interfaces in Java Was spricht gegen die große Lösung? Voraussetzungen Kenntnisse
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,
MehrObjektorientierte Programmierung. Kapitel 14: Interfaces
14. Interfaces 1/26 Objektorientierte Programmierung Kapitel 14: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/ brass/oop13/
MehrEinstieg in die Informatik mit Java
1 / 15 Einstieg in die Informatik mit Java Collections Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Überblick Collections 2 Hierarchie von Collections 3 Verwendung
MehrKapitel 4: Klassen und Unterklassen
Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 4: Klassen und Unterklassen Folie 54 : Unterklassen Die Bildung von Unterklassen und das Konzept der Vererbung sind
MehrProgrammieren 1 09 Vererbung und Polymorphie
Programmieren 1 09 Vererbung und Polymorphie Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 I. VERERBUNG 2 2 Vererbung Von Interfaces übernehmen
MehrALP II Dynamische Datenmengen Datenabstraktion
ALP II Dynamische Datenmengen Datenabstraktion O1 O2 O3 O4 SS 2012 Prof Dr Margarita Esponda M Esponda-Argüero 1 Dynamische Datenmengen Dynamische Datenmengen können durch verschiedene Datenstrukturen
MehrDie abstrakte Klasse Expression:
Die abstrakte Klasse Expression: Expression abstract evaluate() Add Neg Const 501 Die abstrakte Klasse Expression: Expression abstract evaluate() Add Neg Const Leider (zum Glück?) lässt sich nicht die
MehrAbstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken.
Abstrakte Datentypen und Datenstrukturen/ Einfache Beispiele Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Datenstruktur (DS): Realisierung
MehrProgrammieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
Mehr4. Vererbung Die Klasse Object. Die Klasse Object
4. Vererbung Die Klasse Object Die Klasse Object Alle Klassen ohne explizit deklarierte Superklasse haben die Klasse Object als Superklasse. Object gehört zum Paket java.lang. Object verfügt über einige
MehrEinführung: Verteilte Systeme - Remote Method Invocation -
Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation
MehrGeschachtelte Klassen
Geschachtelte Klassen Die Programmiersprache Java bietet nicht nur die Möglichkeit innerhalb von Klassen Datenfelder und Methoden zu definieren, sondern auch Klassen. Solche Klassen heißen en geschachtelte
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
MehrAufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen
Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen Aufgabenblatt 4 Aufgabe 1 1. Erläutern Sie in eigenen Worten die Begriffe Datenstruktur, Datentyp und abstrakter Datentyp. Nutzen Sie das Beispiel
MehrInstitut für Thermische Verfahrenstechnik. Wärmeübertragung I. Lösung zur 4. Übung (ΔT LM (Rührkessel, Gleich-, Gegenstrom))
Prof. Dr.-Ing. Matthia Kind Intitut für hermihe Verfahrentehnik Dr.-Ing. homa Wetzel Wärmeübertragung I öung zur 4. Übung ( M (Rührkeel, Gleih-, Gegentrom Einführung Ein in der Wärmeübertragung häufig
MehrTag 4 Repetitorium Informatik (Java)
Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)
MehrEinstieg in die Informatik mit Java
1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren
MehrInstitut für Programmierung und Reaktive Systeme 24. April Programmieren II. 10. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 24. April 2018 Programmieren II 10. Übungsblatt Hinweis: Auf diesem und den folgenden Übungsblättern
MehrUniversität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 16. Juli Klausur
Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 16. Juli 2001 Stefan Holland Informatik II Hinweise: Klausur Verwenden Sie für Ihre Lösungen ausschließlich den
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
MehrWeitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax
Weitere Beispiele Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts public interface Funktion { boolean istimdefbereich(double x); double wert(double x); String gibbeschreibung(); public interface
MehrAlgorithmen und Datenstrukturen Sommersemester Übung Abgabe bis , 10:00 Uhr
4. Übung Abgabe bis 24.05.2010, 10:00 Uhr Aufgabe 4.1: Referenzen Geben Sie Ihre Lösung als Referenzen.pdf ab. 16 Punkte a) Führen Sie einen Schreibtischlauf des folgenden Java-Programms durch. Es werden
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
MehrLandeswettbewerb Mathematik Baden-Württemberg. Runde 2
1994 Runde ufgabe 1 Zeige, da 1!! 3!... 1995! mindeten 1 Teiler hat. Hinwei: Unter n! verteht man da Produkt der erten n natürlichen Zahlen. eipiel: 5! = 1 3 4 5 = 10 Löung Die Summe S = 1!! 3!... 1995!
MehrInformatik II Übung 5
Informatik II Übung 5 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 28.3.2018 Carina Fuss 28.3.2018 1 Übung 5 Administratives/Tipps zu Eclipse Nachbesprechung Übung 4 kurze Demo zu Stacks Java Pakete Call
Mehr1 Klassen und Objekte
1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente
MehrProgrammiermethodik 3. Klausur Lösung
Programmiermethodik 3. Klausur Lösung 9. 1. 2014 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 20 2 16 3 45 4 19 5 20 Gesamt 120 1 Seite 2 von 10 Aufgabe 1) Objekt-Orientierung und Vererbung
MehrJava I Vorlesung Collections
Java I Vorlesung 5 Collections 24.5.2004 Abstrakte Klassen und Interfaces Arrays Java Collections Framework Abstrakte Klassen: Motivation Häufig will man eine Klasse schreiben, die nur als Basisklasse
MehrThemen der Übung. Rekursion. Dateien einlesen Sudokus. Assertions
Themen der Übung Rekurion CoMa-Übung X TU Berlin.0.0 Themen heute Evaluation Aertion Einleen von Dateien Queue und Breitenuche Rekurion Wegrekontruktion Tiefenuche Backtracking Evaluation Diee Woche bekommt
MehrInnere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen.
Innere Klassen Innere Klassen Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen. Literatur: Java Tutorial & Arnold, K., Gosling, J. und Holmes,D... Page 1 Innere Klassen Der erste
MehrBündelungsgrad und Abstandsfaktor
ünelungga un btanfakto Die Gleihung fü ie ieale Rihthaakteitik von ikofonen lautet ( o (: Übetagungfakto : Dukanteil : Gaientenanteil mit a l ünelungga bezeihnet man a Vehältni e von einem iealen mikofon
Mehrtdaten=record name : string; alter: integer; groesse:real; end;
tdaten=record - Zugriff auf Felder (name, alter, groesse) über externe Methoden, die für jede Unit und jede Variable dieses Records neu geschrieben werden müssen - Zugriff nicht kontrollierbar (immer Schreib-
Mehr1.1 Abstrakte Datentypen 1.2 Lineare Strukturen 1.3 Bäume 1.4 Prioritätsschlangen 1.5 Graphen
1 Datenstrukturen 1.1 Abstrakte Datentypen 1.2 Lineare Strukturen 1.3 Bäume 1.4 Prioritätsschlangen 1.5 Graphen 1 Abstrakte Datentypen Spezifizieren Form und Funktionalität der zu verarbeitenden Daten
MehrOOP. Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten.
Polymorphismus OOP Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten. Vererbung: Erlaubt Code zwischen verwandten Typen wiederverwendet sein.
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 8 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Vererbung Vererbung Statischer Typ Dynamischer Typ 2 Polymorphie Overloading: Methoden überladen Overriding:
MehrBerechnung der Lagerkräfte in einem statischen System
Textauzug au und Ergänzung zu: 'Die Techniken de Gleichunglöen' and, Lineare Gleichungyteme erechnung der Lagerkräfte in einem tatichen Sytem Da Problem: In einem tatichen Sytem mit angreifenden Kräften,
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrObjektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein
Objektorientierung Klassen und Objekte Dr. Beatrice Amrhein Überblick Konzepte der Objektorientierten Programmierung Klassen und Objekte o Implementierung von Klassen o Verwendung von Objekten 2 Konzepte
MehrVererbung, Polymorphie
Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08
MehrNeben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
MehrMethoden und Wrapperklassen
Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Lernziele Abstrakte Datentypen Stack und Queue zu implementieren und anzuwenden Vorteile von parametrischer Polymorphie
MehrInstitut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält
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
MehrProgrammieren 2 Java Überblick
Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 3 Schnittstellen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10
Mehr1. Die rekursive Datenstruktur Liste
1. Die rekursive Datenstruktur Liste 1.6 Die Datenstruktur Stapel Ein Stack, auch Stapel oder Keller genannt, ist eine Datenstruktur, bei der die Elemente nur an einem Ende der Folge eingefügt bzw. gelöscht
MehrA&R TECH C++ Chess Challenge
Willkommen zur A&R TECH C++ Chess Challenge! Wir freuen uns, dass du an dieser Herausforderung teilnimmst. Bevor es losgeht, möchten wir dich noch auf einige Dinge aufmerksam machen: Die Challenge besteht
MehrProgrammiermethodik 1. Klausur
Programmiermethodik 1. Klausur 27. 6. 2013 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 21 2 20 3 19 4 19 5 21 6 20 Gesamt 120 1 Seite 2 von 18 Aufgabe 1) Objekt-Orientierung und Vererbung
MehrProgrammieren II. Abstrakte Klassen, Interfaces Heusch 13.8, 13.9 Ratz Institut für Angewandte Informatik
Programmieren II Abstrakte Klassen, Interfaces Heusch 13.8, 13.9 Ratz 9.6 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Abstrakte Klassen: Motivation Grundidee abstrakter Klassen:
MehrProgrammieren in Java
Programmieren in Java Vorlesung 05: Generics Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 19 Inhalt Generics
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
MehrObjektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
MehrEinführung in die Programmiersprache Java II
Einführung in die Programmiersprache Java II ??????????? UML OOP "Object oriented programming is bad" - professional retard 90s... UML Entwicklungsziele verschiedenen existierenden objektorienten Modellierungsmethoden
MehrII.4.4 Exceptions - 1 -
n 1. Unterklassen und Vererbung n 2. Abstrakte Klassen und Interfaces n 3. Modularität und Pakete n 4. Ausnahmen (Exceptions) n 5. Generische Datentypen n 6. Collections II.4.4 Exceptions - 1 - Ausnahmen
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
MehrEinfache Liste: Ein Stapel (Stack) Ansatz. Schaubild. Vorlesung 1. Handout S. 2. Die einfachste Form einer Liste ist ein Stapel (stack).
Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 64 2 / 64 Motivation Hauptteil dieser Vorlesung sind die so genannten. Zur Motivation (und als Vorbereitung der Datencontainer-Klassen
MehrTafelübung 07 Algorithmen und Datenstrukturen
Tafelübung 07 Algorithmen und Datenstrukturen Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Vererbung Grundlagen Abstrakte
MehrTechnische Strömungslehre Formelsammlung
Formelammlung Strömunglehre Seite von 4 Tehnihe Strömunglehre Formelammlung Komreibilität K von Flüigkeiten E FL V V K E Fl Komreibilität von Gaen V Bei Gaen entriht E V Ga vonϑ C ;, 35bar für den Normzutand
MehrKlausur Impulstechnik I&II Beschaltung als invertierender Verstarker mit der Spannungsverstarkung jvj = 11 betrieben.
Klauur Impultehnik I&II 07.04.98 Aufgabe 1: 13 Punkte Ein idealer Operationvertarker (v 0!1, R i!1, R a! 0) wird durh die auere Behaltung al invertierender Vertarker mit der Spannungvertarkung jvj = 11
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
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 15. Pakete
Grundlagen der Programmierung Prof. H. Mössenböck 15. Pakete Idee Paket = Sammlung zusammengehöriger Klassen (Bibliothek) Zweck mehr Ordnung in Programme bringen bessere Kontrolle der Zugriffsrechte (wer
MehrALP II Dynamische Datenmengen
ALP II Dynamische Datenmengen Teil III Iteratoren Iterator-Objekt O1 O2 O3 O4 SS 2012 Prof. Dr. Margarita Esponda 22. ALP2-Vorlesung, M. Esponda 2 Motivation: Iteratoren Wir haben für die Implementierung
MehrVorkurs Informatik WiSe 15/16
Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann
MehrTECHNISCHER BERICHT. 2. Übungsprogramm: Sphärische Geometrie 1. AUFGABENSTELLUNG:...3
Gnder Dniel 00099 GEOMATHEMATIK SS 00 TECHISCHER BERICHT. Üungprogrmm: Sphärihe Geometrie. AUFGABESTELLUG:.... LÖSUGSWEG:.... Skizze:.... Umrehnung der phärihen Ditnzen in Winkel:.... Berehnung ller fehlerfreien
MehrAlgorithmen und Programmierung III
Musterlösung zum 5. Aufgabenblatt zur Vorlesung WS 2006 Algorithmen und Programmierung III von Christian Grümme Aufgabe 1 Implementieren von ADTs Testlauf der Klasse TestDeque in der z05a1.jar: 10 Punkte
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
MehrKomponentenbasierter
Komponentenbasierter Taschenrechner mit CORBA Silke Kugelstadt Torsten Steinert Inhalt Motivation Demonstration des Taschenrechners Grobarchitektur Implementierung des Clients Implementierung der Komponenten
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,
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Interfaces
10 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Interfaces Aber: Mehrfachvererbung von Klassen ist in Java nicht erlaubt. Ausweg Definition eines Interfaces, z.b.:
MehrVererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1
MehrFaulheit professionell: Fertige Datenbehälter. Das Java-Collections-Framework Typsicherheit Generische Klassen
Faulheit professionell: Fertige Datenbehälter Das Java-Collections-Framework Typsicherheit Generische Klassen Das Java Collections Framework Grundlegende Interfaces Das Interface List Das Interface List
MehrC++ - Objektorientierte Programmierung Polymorphie
C++ - Objektorientierte Programmierung Polymorphie hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen C++ - Objektorientierte Programmierung 21.06.16 Seite 1 Polymorphie
MehrÜbungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor
Albert-Ludwigs-Universität Freiburg Institut für Informatik Einführung in die Informatik Sommersemester 2013 PD Dr. Cyrill Stachniss Dr. Rainer Kümmerle Übungsblatt 13 Abgabe / Besprechung in Absprache
MehrMethoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public
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.
MehrLösungshinweise/-vorschläge zum Übungsblatt 11: Software-Entwicklung 1 (WS 2017/18)
Dr. Annette Bieniusa Mathias Weber, M. Sc. Peter Zeller, M. Sc. TU Kaiserslautern Fachbereich Informatik AG Softwaretechnik Lösungshinweise/-vorschläge zum Übungsblatt 11: Software-Entwicklung 1 (WS 2017/18)
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
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
Mehr1. In welchen Formen (mindestens zwei) kann man durch das Ersetzbarkeitsprinzip Wiederverwendung erzielen?
Kapitel 2 1. In welchen Formen (mindestens zwei) kann man durch das Ersetzbarkeitsprinzip Wiederverwendung erzielen? 1. Durch das Verwenden von Untertypbeziehungen: Untertypen können oft einen Großteil
MehrAuswertung von Operatorbäumen Huffman-Code
Datenstrukturen: Bäume 4 Bäume 4. Terminologie und Grundlagen: Modelle für Graphen und Bäume 4.. Spezifikation und einfahe Algorithmen 4. Anwendungen - 4.. Auswertung von Operatoräumen - 4.. Huffman-Code
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
MehrProgrammieren 1 08 Objekte und Interfaces
Programmieren 1 08 Objekte und Interfaces Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Objektorientierung: Von Static zu Instance Klasse
MehrPhotonen. s 6, = 3,00m, f = c = 100MHz (UKW) s 6, = 3, m (Röntgenstrahlung)
Photonen. In dieer Aufgabe kannt du = 3, 8 m für die Lihtgehwindigkeit, h = 6,6 34 J für da Plank he Wirkungquantum und e =,6 9 C für die Elementarladung verwenden. (a) Gib 9, 9 J in der Einheit ev an.
MehrKlassen und Konstruktoren in Java
Klassen und Konstruktoren in Java class Circle { int r; Circle(int r) { this.r = r; // 1 Circle(Circle c) { this.r = c.r; // 2 Circle() { r = 1; // 3...... Circle a = new Circle(2); // Konstruktor 1 Circle
Mehr