Vererbung, Polymorphismus
|
|
- Monica Feld
- vor 8 Jahren
- Abrufe
Transkript
1 Vererbung, Polymorphismus Einführung Beispiel Automobilbau: Eine Firma produziert eine Limousine Vererbung zur Erweiterung Vererbung zur Anpassung Oberklassen Aufruf Konstruktoren Polymorphismus Ein Kunde möchte einen solchen PW, aber als Kombi? Was macht die (gute) EntwicklungsingenieurIn? Mögliche Alternativen: Sie/er baut ein neues Auto von Grund auf Sie/er übernimmt möglichst viel von der bestehenden Limousine Am besten ist sie/er dran, wenn sie bereits das erste Auto so modular (mit Hilfe von Komponenten) entwickelt hat, dass die Umwandlung in einen Kombi einfach möglich ist 2 von 48 Lösung Ziele bei der Softwareentwicklung Beispiel Automobilbau: Autokonzern entwickelt eine Grundplattform Auf dieser Plattform können verschiedene Modelle verschiedener Marken aufgebaut werden Individualisierung geschieht über unterschiedliche Ausrüstung (=Erweiterung) Motorisierung (=Anpassung), etc. Vorteile: Hohe Entwicklungskosten können besser amortisiert werden Neue Modelle können schneller zur Marktreife gebracht werden Ziele bei der Softwareentwicklung: A) Software möglichst aus bestehenden Bausteinen (Klassen) zusammenbauen Steuerung B) Bei Bedarf diese Bausteine an die spezifischen Anforderungen anpassen selten passen die Bausteine zu 100% Anpassen von Software erweitern und modifizieren Lösung 1: Anpassen in der Quelle, oft möglich aber: Quelle kann nicht (mehr) vorhanden sein Symbol Symbol für für Aggregation Aggregation ("Bestandteil ("Bestandteil von") von") Ampel Änderungen sind schwierig, weil Quellen sehr umfangreich und Zusammenhänge u.u. nicht klar Änderungen (z.b. Bug Fix) müssen später u.u. an verschiedenen Quellen nachgeführt werden Änderungen können Einfluss auf bestehende Systeme haben 3 von 48 4 von 48
2 Objektorientierte Programmierung Die Objektorientiert Programmierung ermöglicht die Anpassung von Klassen, ohne dass man die Quellen benötigt Open-Closed Prinzip: Software-Einheiten sollten offen für Erweiterungen, aber geschlossen für Modifikationen sein Bestehende Bausteine dürfen nicht verändert werden Die Modifikation der Funktionalität sollte immer eine Erweiterung sein Bsp: z.b. eine Ampel unterstützt 3 statt 2 Phasen -> bestehende Steuerungen müssen nicht angepasst werden. Vererbung zur Erweiterung Der Mechanismus für die Erweiterung und Modifikation von Klassen heisst Vererbung 5 von 48 6 von 48 Vererbung zur Erweiterung Vererbung in Java Die Klasse Ballon ist gleich wie die Klasse, mit dem Unterschied, dass die Position nachträglich verändert werden kann. Die Klasse Ballon erweitert die Klasse (Klasse Ballon ist von der Klasse abgeleitet) Terminologie: Die Klasse heisst entsprechend Oberklasse (superclass) von der Klasse Ballon Die Klasse Ballon heisst Unterklasse (subclass) von der Klasse superclass, superclass, Oberklasse Oberklasse Basisklasse Basisklasse Symbol Symbol für für Vererbung Vererbung Es seien zwei Klassen gegeben: Klasse Klasse Ballon // gleich wie aber Position kann nachträglich verändert werden public class { private int x, y; public draw(graphics g) { g.filloval(..) public (int x, int y) {... public class Ballon { private int x, y; public draw(graphics g) { g.filloval(..) Code Code Verdoppelung Verdoppelung public Balloon(int x, int y) {... public void setpos(int newx, int newy){ x = newx; y = newy; Ballon subclass subclass Unterklasse Unterklasse abgeleitete Klasse abgeleitete Klasse 7 von 48 8 von 48
3 Vererbung in Java: extends Vererbung in Java Es seien zwei Klassen gegeben: Klasse (ev.vorbereitet für Vererbung) Klasse Ballon // gleich wie aber Position kann nachträglich verändert werden Ballon erbt von ; sämtliche protected: protected: sind sind in in abgeleiteten Ballon erbt von ; sämtliche abgeleiteten public und protected Methoden und Klassen Klassen sichtbar sichtbar (aber (aber nicht nicht in public und protected Methoden und in Attribute können innerhalb der andern andern Klassen) Attribute können innerhalb der Klassen) Klasse angesprochen werden Klasse angesprochen werden Klasse Ballon erbt Attribute (Instanzvariablen und Klassesnvariablen) und Operationen (Methoden) von der Klasse Attribute und Operationen der Klasse sind auch in der Klasse Ballon (wie die eigenen) zugreifbar. In Java kann nur von einer Klasse geerbt werden (Einfachvererbung ) im Gegensatz zu z.b. C++ (siehe Anhang) public class { protected int x, y; public class Ballon extends { public draw(graphics g) { g.filloval(..) public (int x, int y) { this.x = x; this.y = y; public void setpos(int newx, int newy){ x = newx; y = newy; public Ballon (int x, int y) { Ballon Methoden Methoden Ballon 9 von von 48 Vererbung in Java Die Unterklasse erhält keine Kopien der Variablen und Methoden, sondern den Zugriff auf die Attribute und Methoden der Oberklasse Die Unterklasse kann sodann beliebig zusätzliche Methoden und Instanzvariablen deklarieren (wie bei jeder Klasse) Allgemeine Deklaration einer Unterklasse: Vererbung zur Anpassung class Unterklassenname extends Oberklassenname { Instanzvariablendeklarationen Konstruktorendeklarationen Methodendeklarationen 11 von von 48
4 Vererbung zur Anpassung Überschreiben von Methoden Es seien zwei Klassen gegeben: Klasse Klasse Billard // gleich wie aber es wird noch eine Zahl angezeigt Falls eine Methode in der Unterklasse genau den gleichen Namen und die gleichen Parameter (Signatur) aufweist, wie eine Methode in der Oberklasse, so wird die Methode der Oberklasse überschrieben. Konkret: die Methode draw soll angepasst werden Wie die Funktionalität damit angepasst werden kann, wird im Abschnitt Polymorphismus genauer beschrieben Billardkugel Methoden Methoden Billardkugel Vorsicht: Falls die Deklaration nicht genau mit der in der Oberklasse übereinstimmt, wird die Methode überladen statt überschrieben! D.h. beide Methoden würden dann in der Unterklasse nebeneinander existieren, die geerbte und die neu geschriebene Überladen (overloading)!= Überschreiben (overriding) (siehe Anhang) 13 von von 48 Vererbung in Java Klassendiagramm (class diagram) Es seien zwei Klassen gegeben: Klasse Klasse Billardkugel // gleich wie aber sie wird anders gezeichnet public class { protected int optional optional aber aber empfohlen empfohlen public void draw(graphics g) { g.filloval(..) public (int x, int y) { public class Billardkugel extends public void draw(graphics g) { g.filloval(..); g.drawstring (..); public Billardkugel (int x, int y) { Vererbungs-Hierarchie Eine Klasse ohne explizite Oberklasse erbt in Java implizit von der Klasse Object Jede Unterklasse kann seinerseits von weiteren Unterklassen erweitert werden Dadurch entsteht eine baumartige Hierarchie von Unterklassen (Baum steht aber auf dem Kopf) Diese Vererbungs-Hierarchie kann in einem sog. Klassendiagramm dargestellt werden Beispiel UML-Klassendiagramm: Vererbungs-Hierarchie der Klasse Ballon void setpos() Zeppelin Object equals() int x,y Billardkugel void move() 15 von von 48
5 Die Klasse Object Überschreiben (shadowing( shadowing) ) von Attributen Jede Klasse in Java erbt automatisch und implizit von der Klasse java.lang.object Zwei Methoden somit in allen Klassen vorhanden (später mehr) Object String tostring() // Returns a string representation of the object. boolean equals(object obj) // Indicates whether some other object is "equal to" this one. Falls in der Unterklasse eine (public oder protected) Instanzvariable mit gleichem Namen wie in der Oberklasse deklariert wird, ist die Instanzvariable der Oberklasse in der Unterklasse nicht mehr zugreifbar. Dies wird auch als "Überschatten" (shadowing) bezeichnet public class { protected int x, y;... public class Billardkugel extends { private int x, y;... Führt oft zu Problemen Das Überschreiben von Attributen sollte vermieden werden! 17 von von 48 Zugriffsmodifikator: protected Zugriffsmodifikatoren Übersicht protected-methoden/instanzvariablen sind sichtbar in allen Unterklassen der Klasse, in der die Variable/Methode deklariert ist Zugriffsmodifikator Sichtbarkeit gleiche Klasse Unterklasse andere Klasse Zur Erinnerung: lokale Variablen (innerhalb Methoden deklariert) sind nur innerhalb derselben Methode sichtbar private ja nein nein protected ja ja nein Billardkugel 19 von 48 public ja ja ja Grundsatz: Variablen immer mit den minimal möglichen/sinnvollen Sichtbarkeit deklarieren. Laufvariablen: for (int i = 0; lokale Variablen: void foo() {int i;... private Instanzvariablen: public class T {private int i; protected Instanzvariablen: public class T {protected int i; public Instanzvariablen: public class T {public int i; von 48
6 Aufruf von Methoden der Oberklasse Innerhalb einer Klasse kann jede beliebige Methode einer Oberklasse (wie eine eigene) aufgerufen werden. sofern sie public oder protected ist Oberklassen Methodenaufruf Beispiel: innerhalb der Klasse Zeppelin kann ich setpos() der Oberklasse (Ballon) aufrufen public void move (int dx) { setpos(x+dx, y); 21 von von 48 Überschriebene Methoden Aufruf Eine Methode einer Oberklasse ist überschrieben, wenn in einer ihrer Unterklassen eine Methode mit demselben Methodenkopf (Signatur) steht Falls die ursprüngliche Methode in der Oberklasse von der Unterklasse aus aufgerufen werden soll, so muss der Objektname super verwendet werden: super.methodenname(...); super.super.methodenname ist nicht erlaubt! super.super.methodenname ist nicht erlaubt! Konstruktoren super bezeichnet das aktuelle Objekt, das aber als Objekt der Oberklasse interpretiert wird entsprechend wird die Methode der Oberklasse aufgerufen Beispiel: innerhalb der Klasse Billardkugel kann die draw Methode der Oberklasse aufgerufen werden public void draw (g) { super.draw(g); g.drawstring(..); 23 von von 48
7 Konstruktoren Konstruktor ohne Parameter Repetition: Beim Erzeugen eines Objekts wird der entsprechende Konstruktor ausgeführt Instanzvariablen des erzeugten Objekts werden initialisiert kugel = new ( ); Jede Klasse hat einen oder mehrere Konstruktoren (heissen gleich wie Klasse) mit unterschiedlichen Parameterlisten Neu: Beim Erzeugen eines Objekts der Unterklasse, muss der entsprechende Konstruktor der Oberklasse ausgeführt werden, um dessen Instanzvariablen zu initialisieren public class { protected int x, y; public (int x, int y) { this.x = x; this.y = y;? public class Billardkugel extends { private int zahl; public Billardkugel (int x, int y, int zahl) {... Automatismus: Instanz- und Klassenvariablen werden automatisch d.h. von der Java Laufzeitumgebung zu 0 (null, false) initialisiert. Automatismus: Falls ein Konstruktor ohne Parameter (=Standardkonstruktor) in der Oberklasse vorhanden ist, dann wird dieser automatisch vor der Ausführung des Konstruktors der Unterklasse aufgerufen public class { protected int x, y; public () { this.x = 100; this.y = 100; automatisch, automatisch, implizit implizit public class Billardkugel extends { private int zahl; public Billardkugel (int x, int y, int zahl) { this.zahl = zahl; Initialisierung der Initialisierung der Unterklasse Unterklasse 25 von von 48 Konstruktoren: super Konstruktoren Falls ein anderer als der Standardkonstruktor in der Oberklasse ausgeführt werden soll, so muss der Programmierer selbst diesen Oberklassen Konstruktur aufrufen. public class { protected int x, y; public (int x, int y;) { this.x = x; this.y = y; explizit explizit public class Billardkugel extends { private int zahl; public Billardkugel (int x, int y, int zahl) { super(x,y); this.zahl = zahl; Und zwar als erste Anweisung im Konstruktor der Unterklasse Automatismus: Falls eine Klasse keinen Konstruktor aufweist, wird von Java automatisch ein Standard-Konstruktor eingefügt. Wird aber wieder entfernt, sobald ein eigener Konstruktor vorhanden ist Dieser macht nichts anderes, als den Oberklassen Konstruktor aufzurufen und sieht dementsprechend folgendermassen aus: Klassenname(){ super(); Mit diesen Mechanismen garantiert Java, dass beim Erzeugen eines Objekts einer Klasse die Konstruktoren aller Oberklassen der Klasse ausgeführt werden, bevor der Konstruktor der Klasse selbst ausgeführt wird. Der erste Konstruktor, der immer ausgeführt wird ist also der Konstruktor der Oberklasse Object. Danach werden die Konstruktoren der direkten Unterklassen der Reihe nach ausgeführt bis zur aktuellen Klasse. 27 von von 48
8 Konstruktoren Kontrollfrage Aufruf- Reihenfolge Ausführungs- Reihenfolge Object equals() Beispiel: Wird im Klassendiagramm ein Objekt der Klasse Zeppelin Was passiert, wenn die Unterklasse keinen Konstruktor hat und die Oberklasse hat einen, aber keinen ohne Aufrufparametern??!! int x,y erzeugt, so werden der Reihe nach folgende Konstruktoren ausgeführt: 1.Object(); 2.(); 3.Ballon(); Ballon Billardkugel 4.Zeppelin(); void setpos() Zeppelin void move() Die Konstruktoren werden von unten nach oben aufgerufen (explizit oder impliziert). Die Ausführungsreihenfolge ist dann aber von oben nach unten! 29 von von 48 final bei Attributen und Methoden final bei Klassen Manchmal möchte man vermeiden, dass Instanzvariablen oder Methoden einer Klasse überschrieben werden können. Vorgehen: Variable oder Methode als final deklarieren final-methode oder -Variable kann nicht mehr überschrieben werden. public final static int DEFAULTX = 100; public final void setpos(int newx, int newy){ x = newx; y = newy; Es können auch ganze Klassen als final deklariert werden: Klasse kann nicht mehr erweitert (subclassed) werden Alle Methoden der Klasse sind dann automatisch auch final public final class Billardkugel extends { private int zahl;.. Erschwert/verhindert Erweiterbarkeit: sparsam einsetzen static final Variablen: entsprechen Konstanten in anderen Sprachen Klassenvariablen, die nicht überschrieben werden können. Java-Konvention: Namen von Konstanten in GROSSBUCHSTABEN schreiben Beispiel: Die Konstante Pi = ist in der Klasse Math definiert und kann von überall her mit dem Namen Math.PI verwendet werden Beispiel: Die Klasse System ist als final deklariert. 31 von von 48
9 Erweitern von Java-Bibliotheksklassen Entwurfsgrundsatz: Vererbung Auch (alle nicht final) Klassen in Java-Bibliotheken können durch selbst programmierte Klassen erweitert werden (ohne den Java-Code kennen zu müssen!) Beispiel: Klasse Applet Um ein Applet zu schreiben, haben wir jeweils eine Unterklasse der Klasse Applet geschrieben: public MyProgram extends Applet {... MyProgram erbt alle Methoden von der Klasse Applet und deren Oberklassen Die Methoden add() und repaint() z.b. werden von den Oberklassen von Applet zur Verfügung gestellt Die Methoden init() und paint(graphics g) der Klasse Applet müssen in MyProgram überschrieben werden Wie findet man die nötigen Informationen über Bibliotheksklassen? In der Online-Dokumentation nachschauen In Java-Büchern (z.b. Java in a Nutshell ) Vererbung sollte nur verwendet werden, wenn eine "ist-ein"-beziehung zur Oberklasse besteht Bsp: Billarkugel ist eine Aber d.h. gesamte Funktionalität der macht auch bei der Billardkugel einen Sinn. Bsp: Billardkugel ist kein Ballon: Ballon kann Grösse verändern, steigen und sinken "Zeppelin ist Ballon" ist eigentlich schon ein Grenzfall 33 von von 48 Übung Vererbungen in der Praxis Wiederverwendung von Software Entwickeln Sie aus: Fahrzeug, PKW, Taxi, Nutzfahrzeug, Bus, Bagger, Lastwagen, VW, Golf, Ferrari, Testerossa einen Vererbungsbaum. Zeichnen Sie das dazugehörige Klassendiagramm. spart Zeit (z.b. die Klassen von AWT und Klasse Math) Meist existiert schon Software, die einen Teil der Funktionalität aufweist Ändern einer bestehenden Software in der Quelle ist aufwendig: Quellen muss zuerst verstanden werden Neue Fehler, Inkompatibilitäten mit anderen Komponenten können entstehen Umfangreiche Tests auch der bestehenden Teile werden daher nötig Lösungsansatz der OOP: Die verwendeten Teile der Software werden belassen wie sie sind Nötige Änderungen und Ergänzungen erreicht man durch Vererbung und Erweiterung 35 von von 48
10 Die Prinzipien der OOP Die zentralen Konzepte von OOP sind: Kapselung (encapsulation): Zusammengehörige Informationen in Objekten gruppieren und sie gegenüber der Aussenwelt abschirmen: letzte Vorlesung Polymorphismus Erweiterung durch Vererbung (inheritance): Neue Klassen können aus existierenden Klassen abgeleitet werden, ohne dass die Integrität der Originalklasse beeinträchtigt wird (Open-closed Prinzip): die vorhergehenden Folien dieser Vorlesung Polymorphismus (polymorphism): folgende Folien dieser Vorlesung 37 von von 48 Casting up Casting down Erzeugen von Objekten und Zuweisen an Variable Figure fig = new Figure(.); Rectangle rect = new Rectangle(.); Upcast Fig fig = new Rectangle( ); In der Klassenhierarchie eine Referenz nach oben geben(casting up) Da jede erbende Klasse alle Methoden der Oberklassen besitzt ist das "sicher". Rectangle Line int x2,y2 Figure int x,y,w,h Circle int mx,my es kann nicht zu es kann nicht zu Fehlern führen Fehlern führen In der Klassenhierarchie eine Referenz nach unten geben (casting down, unsafe casting ) Fig fig = new Rectangle( ); in in fig fig könnte könnte auch auch Line, Line, Circle Circle oder oder Figure Figure sein sein Rectangle rect = fig; Rectangle Der Downcast ist "unsicher" und muss deshalb explizit angeben werden Rectangle rect = (Rectangle) fig; Figure int x,y,w,h Line Circle int x2,y2 int mx,my 39 von von 48
11 ClassCastException, instanceof "Vielgestaltigkeit" Polymorphismus Folgende Sequenz führt zu einem Laufzeitfehler: ClassCastException Fig fig = new Circle( ); Rectangle rect = (Rectangle) fig; Polymorphismus ("Vielgestaltigkeit" ) beschreibt eine Eigenschaft objektorientierter Sprachen, bei der die korrekte Methode von mehreren gleichnamigen Methoden (im Bsp.: draw (Graphics g) ) durch den Objekttyp bestimmt wird, auf dem sie arbeiten soll. [Quelle: Java für Studenten] Vorher testen, ob ein Objekt zu einer bestimmten Klasse gehört oder nicht instanceof ist ein Schlüsselwort Verwendung if (fig instanceof Rectangle){Rectangle rect = (Rectangle) fig; class Circle extends Figure { public void draw(graphics g){ g.drawoval(x,y,w,h)... class Figure { protected int x,y,w,h; public void draw(graphics g){... class Rectangle extends Figure { public void draw(graphics g){ g.drawrect(x,y,w,h) von von 48 Dynamischer, statischer Typ Prinzipien des Polymorphismus Welche draw() Methode wird aufgerufen? Fig fig = new Rectangle( ); fig.draw(g); Ein Objekt behält immer die Identität der Klasse, aus der es erzeugt wurde. (Ein Objekt kann nie in ein Objekt einer anderen Klasse konvertiert werden!) Figure int x,y,w,h Antwort: Es wird die draw Methode von Rectangle aufgerufen Regel: es wird immer die Methode der Klasse aufgerufen, die (dynamisch) der Variablen zugewiesen wurde. Wenn eine Methode auf ein Objekt aufgerufen wird, wird immer die Methode verwendet, die mit der Klasse des Objekt verbunden ist Rectangle Line int x2,y2 Circle int mx,my Statischer Typ: Typ der Variablen, wie sie deklariert wurde Dynamischer Typ: Typ (Klasse) des Objekts, das der Variablen zugewiesen wurde; Referenztyp -> auf den die Variable zeigt. 43 von von 48
12 Beispiel einer Anwendung Zusammenfassung Ein kleines Zeichenprogramm (innerhalb einem Applet) Vererbung zur Erweiterung Vererbung zur Anpassung Oberklassen Aufruf Figure [] figs = new Figure[4]; void init () { figs[0] = new Circle(...); figs[1] = new Line(...); figs[2] = new Line(...); figs[3] = new Rectangle(...); Konstruktoren Polymorphismus void paint(graphics g) { for (int i = 0; i < figs.length; i++) { figs[i].draw(g)); 45 von von 48 Anhang: overloading und overriding Anhang: Einfach und Mehrfachvererbung Overloading bedeutet, dass es zwei oder mehr Methoden mit dem gleichen Namen (innerhalb einer Klasse) gibt, die sich durch Parameter unterscheiden. Der Unterschied kann in der Anzahl der Parameter oder dem Typ oder beidem bestehen. Der Java-Compiler wählt aufgrund der Parameter die richtige aufzurufende Methode aus ("most specific" algorithm) Einfachvererbung (single inheritence): Eine Unterklasse kann in Java nur von einer Oberklasse erben, nicht von mehreren wie z.b. in C++ Problem: diamond inheritance Transportmittel Overriding (Überschreiben) einer Methode in einer Unterklasse bedeutet, dass eine Methode mit dem gleichen Namen und Parameter wie in der Oberklasse geschrieben wird. Das Java-Laufzeitsystem nimmt immer die Methode, die zur Klasse des Objekts gehört. [Quelle: Java für Studenten] Erbt die Klasse Wasserflugzeug die Methoden von Flugzeug oder von Boot? Für Mehrfachvererbung gibt es in Java zu diesem Zweck das Konzept der Interfaces: Nur Deklaration der Schnittstelle, keine Implementation der Klasse Problem wird umgangen! Flugzeug Wasser- Flugzeug << Boot 47 von von 48
INE2 OOP mit Java 2 Vererbung, Polymorphismus. Vererbung zur Erweiterung Vererbung zur Anpassung Oberklassen Aufruf Konstruktoren Polymorphismus
INE2 OOP mit Java 2 Vererbung, Polymorphismus Vererbung zur Erweiterung Vererbung zur Anpassung Oberklassen Aufruf Konstruktoren Polymorphismus Einführung Beispiel Automobilbau: Eine Firma produziert eine
MehrVererbung, Polymorphismus
Vererbung, Polymorphismus INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Automobilbau Firma produziert Limousine Kunde möchte Kombi Wielösen? Möglichkeiten Neudesign
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:
MehrKurs OPR. Objektorientierte Programmierung
Kurs OPR Objektorientierte Programmierung Lektion: 005-Vererbung, Polymorphismus Zürcher Hochschule für Angewandte Wissenschaften Mitglied der Fachhochschule Zürich Version 1.4 Inhaltsverzeichnis 1 Vererbung
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
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 Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
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
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
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
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/
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
MehrTypumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
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
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrFolge 18 - Vererbung
Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrFachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik 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
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
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:
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
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
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
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
Mehr5. Abstrakte Klassen
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Vogel Amsel Drossel Fink Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg,
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
MehrWorkshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ
IBBB 2010 Workshop 6 Einführung in die objektorientierte Programmierung Dozenten: J. Penon, J. Frank, A. Schindler Teil: Java mit BlueJ Dozent: A. Schindler Einf. i. d. OOP - Java u. BlueJ / A. Schindler
MehrJavakurs 2013 Objektorientierung
Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
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
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
Mehr13. Tutorium zu Programmieren
13. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2009 by IPD Snelting
MehrComputeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag
Mehr5. Tutorium zu Programmieren
5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting
Mehr4 Vererbung, Polymorphie
4 Vererbung, Polymorphie Jörn Loviscach Versionsstand: 21. März 2014, 22:57 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
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
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)
MehrDas Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
MehrObjektorientierung: Klassen und Objekte
Vorlesung und Übung Universität Paderborn Wintersemester 2015/2016 Dr. Peter Pfahler Objektorientierung: Klassen und Objekte EWS, WS 2015/16, Pfahler L-1 Objektorientierung behandelt in "Einführung in
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
MehrAbschnitt 12: Strukturierung von Java-Programmen: Packages
Abschnitt 12: Strukturierung von Java-Programmen: Packages 12. Strukturierung von Java-Programmen: Packages 12.1 Strukturierung durch Packages 12.2 Zugriffsspezifikationen 12.3 Zusammenfassung 12 Strukturierung
MehrU08 Entwurfsmuster (II)
U08 Entwurfsmuster (II) Inhalt der Übung Diskussion und Implementierung von Entwurfsmustern Übungsaufgaben Aufgabe 1 (Queue) Gegeben ist das folgende Analysemodell einer Warteschlange (Queue): Eine Warteschlange
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrFactory Method (Virtual Constructor)
Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte
MehrObjects First With Java A Practical Introduction Using BlueJ. Mehr über Vererbung. Exploring polymorphism 1.0
Objects First With Java A Practical Introduction Using BlueJ Mehr über Vererbung Exploring polymorphism 1.0 Zentrale Konzepte dieses Kapitels Methoden-Polymorphie statischer und dynamischer Typ Überschreiben
MehrMCRServlet Table of contents
Table of contents 1 Das Zusammenspiel der Servlets mit dem MCRServlet... 2 1 Das Zusammenspiel der Servlets mit dem MCRServlet Als übergeordnetes Servlet mit einigen grundlegenden Funktionalitäten dient
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E
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
MehrGraphische Benutzungsoberflächen
Graphische Benutzungsoberflächen Graphische Benutzungsoberflächen (graphical user interfaces, GUI) dienen zur interaktiven Bedienung von Programmen, Ein- und Ausgabe mit graphischen Techniken und visuellen
MehrGetName(), GetName(), GetGeschlecht() und AelterWerden().
11. Vererbung Vererbung ist eine der mächtigsten Funktionalitäten der objektorientierten Programmiersprachen. Man versteht unter Vererbung die Tatsache, dass eine Klasse alle Methoden und Variablen einer
MehrArbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
MehrProgrammieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 13 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrJavakurs zu Informatik I. Henning Heitkötter
Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,
MehrEinführung in die Programmierung
: Inhalt 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 - mit / ohne Parameter - mit / ohne Rückgabewerte
MehrMusterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9
Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung
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
MehrPHP Aufbaukurs. Tag 3. PHP5 & Klassen
PHP Aufbaukurs Tag 3. PHP5 & Klassen Organisatorisches 2 Igor Olkhovskiy Dr. Dipl.- Ing. Kontakt: olkhovskiy@rrzn.uni-hannover.de PHP Aufbaukurs 19.09.2006 Folie 2 PHP. OOP. Geschichte 3 PHP/FI ( PHP 1
MehrC# im Vergleich zu Java
C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung
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,
MehrOO Softwareentwicklung
OO Softwareentwicklung Objektorientierung Prof. Dr. Bernhard Schiefer 1 OO als Ansatz zur Verbesserung der Software-Qualität Modellierung der Welt als selbständig agierende Objekte. Gemeinsame Beschreibung
MehrSoftware Engineering Interaktionsdiagramme
Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)
MehrVererbung. Vererbung von Methoden und Instanzvariablen. Vererbung als Realisierung einer is-a Beziehung.
Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik II: Objektorientierte SW-Entwicklung,
MehrVIII: Vererbung. Unterklassen einer Klasse. Vererbung von Methoden und Instanzvariablen. Überschreiben von Methoden
VIII: Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik I VIII: Vererbung 259 Beispiel:
MehrJava Einführung Abstrakte Klassen und Interfaces
Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer
MehrClient-Server-Beziehungen
Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server
Mehr13 OOP MIT DELPHI. Records und Klassen Ein Vergleich
13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,
MehrTesten mit JUnit. Motivation
Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen
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
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Die Vererbung ermöglicht es, neue Klassen auf der Basis von schon
MehrFachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
Mehr5.6 Vererbung. Vererbung
5.6 Vererbung Klassen können zueinander in einer "ist ein"- Beziehung stehen Beispiel: Jeder PKW ist ein Kraftfahrzeug, jedes Kraftfahrzeug ist ein Transportmittel aber: auch jeder LKW ist ein Kraftfahrzeug
MehrMediator 9 - Lernprogramm
Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop
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
MehrMenü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen
Menü Macro WinIBW2-Macros unter Windows7?... 1 Macros aufnehmen... 1 Menübefehle und Schaltflächen in Macros verwenden... 4 Macros bearbeiten... 4 Macros löschen... 5 Macro-Dateien... 5 Macros importieren...
MehrDer lokale und verteilte Fall
Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrGrundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
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
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrKlassendiagramm. (class diagram)
: Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau
MehrObjektorientierte Programmierung
Objektorientierte Programmierung Ein Computerprogramm besteht aus Funktionen (Programmabschnitten, die etwas tun) und Variablen (Speicherplätzen für Informationen). Werden Funktionen aktiviert, verändern
Mehr4. AuD Tafelübung T-C3
4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrS7-Hantierungsbausteine für R355, R6000 und R2700
S7-Hantierungsbausteine für R355, R6000 und R2700 1. FB90, Zyklus_R/W Dieser Baustein dient zur zentralen Kommunikation zwischen Anwenderprogramm und dem Modul R355 sowie den Geräten R6000 und R2700 über
Mehr5.4 Klassen und Objekte
5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen
MehrOutlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang
sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche
MehrEinführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
MehrGrundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen
Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in
MehrBEISPIELKLAUSUR Softwareentwicklung:
Prof. Dr. Andreas Fink Institut für Informatik Fakultät für Wirtschafts- und Sozialwissenschaften Helmut-Schmidt-Universität / Universität der Bundeswehr Hamburg BEISPIELKLAUSUR Softwareentwicklung: Objektorientierte
Mehr