Objektorientierte Programmierung
|
|
- Bärbel Gerstle
- vor 7 Jahren
- Abrufe
Transkript
1 Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 2 Objektorientierte Programmierung Aufgabe 5 (Vererbung - Trace (Klausur FT 2001)) Gegeben ist folgendes Programm: public abstract class Bloedsinn extends Object { protected int zahl = 47; public void mach() { was(); public abstract void was(); public class Unfug extends Bloedsinn { public Unfug(int zahl) { System.out.println("Mehr Unfug:"); sowas(); public void was() { System.out.println("JaJa"); sowas(); public void sowas() { System.out.println("Die " + zahl); public class Schrott extends Unfug { public Schrott(int zahl) { super(11); System.out.println("Mehr Schrott:"); sowas(); this.zahl = 11; public void was() { if (this.equals(new Schrott(11))) { System.out.println("Gleicher Schrott"); else { System.out.println("Verschiedener Schrott"); super.was(); super.sowas(); public void sowas() { System.out.println("Eine " + zahl); a) Zeichnen Sie zu diesen drei Klassen ein detailliertes UML-Klassen-Diagramm (mit Zugriffsrechten, Parametern und Typen). 1
2 b) An anderer Stelle sei folgende Methode deklariert: static void test (Bloedsinn b) {b.was(); Zur Laufzeit enthalte der Parameter b von test() das Objekt bo. Welcher der drei obigen Klassen kann das Objekt bo angehören? c) Führen Sie für jede dieser Möglichkeiten die Methode test() von Hand aus und geben Sie an, was jeweils gedruckt wird. Hinweis: Sie sollten auf insgesamt 10 Zeilen kommen. Aufgabe 6 (GEO Paket: UML-Klassendiagramm) Auf dem Beiblatt zu dieser Aufgabe finden Sie den Quellcode einer Anwendung. Diesen finden Sie auch auf der Webseite zur Vorlesung in einer ZIP-Datei. Analysieren Sie diesen wie folgt: a) Zeichnen Sie dazu das UML-Klassendiagramm zur Klasse Figur, ihren Unterklassen und den darin per Aggregation enthaltenen Klassen. b) Erläutern Sie das Zusammenspiel der tostring()-methoden. c) Wie wird hier Vererbung genutzt? Aufgabe 7 (GEO-Paketergänzung: Inkreis) Das bekannte GEO-Paket sei nun um die auf dem Beiblatt gegebenen Klassen Dreieck und Umkreis ergänzt. Führen Sie zunächst die Methode main() der Klasse Umkreis von Hand aus! Das Paket soll nun so ergänzt werden, dass analog zur Umkreis-Konstruktion eine Inkreis-Konstruktion (in der main()-methode einer gleichnamigen Klasse) durchgeführt wird. Ergänzen Sie dazu eine Klasse Winkel: Winkel-Objekte sind charakterisiert durch drei Punkte: P1, P2 und P3, wovon P2 die Ecke markiert. Die Klasse Winkel besitzt neben den Standard-Methoden eine Methode winkelhalbierende(), die ein Gerade-Objekt zurückliefert. Hinweis: In einem gleichschenkligen Dreieck fallen bekanntlich die Seiten- und die Winkelhalbierende zusammen. Die Richtungsvektoren der beiden Winkelschenkel lassen sich mit Hilfe der Methoden der Klasse Koord leicht auf gleiche Länge bringen. Die Vektorsumme der beiden normierten Richtungsvektoren beschreibt die Richtung der zu bestimmenden Winkelhalbierenden... (die übliche geometrische Konstruktion der Winkelhalbierenden setzt voraus, dass man die Schnittpunkte von Kreisen untereinander und mit Geraden bilden kann und ist hier erheblich mühsamer!) 2
3 Beiblatt zur Aufgabe 6) class Figur { private Koord ort; private void setort(koord k) { ort=k; public Koord getort() { return (Koord)ort.clone(); // Konstruktor Figur(Koord k) { setort(k); if (this.getclass()==f.getclass()) return ( getort().equals( f.getort() ) ); else return false; String s = "Figur auf "+getort(); return new Figur(getOrt()); public void verschiebenach(koord k) { verschiebeum( k.minus(getort()) ); public void verschiebeum(koord k) { setort( getort().plus(k) ); public int anzahl() { return 1; class Gerade extends Linie {... kommen keine neuen hinzu // Konstruktor(en) Gerade(Koord k1, Koord k2) { super(k1,k2); Gerade(double x1, double y1, double x2, double y2) { super(x1,y1,x2,y2); String s="gerade durch "+getort()+" und "+getziel(); 3
4 // Hier ist keine neue Version von equals() nötig return new Gerade(getOrt(),getZiel()); class Koord { private double x,y; public void setx(double a) { x=a; public void sety(double a) { y=a; public double getx() { return x; public double gety() { return y; // Konstruktor Koord(double a, double b) { x=a; y=b; public double skalarp(koord k) { return getx()*k.getx()+gety()*k.gety(); public Koord mal(double d) { return new Koord(getX()*d,getY()*d); public double betrag() { return Math.sqrt( getx()*getx()+gety()*gety() ); public Koord minus(koord k) { return new Koord(getX()-k.getX(),getY()-k.getY()); public Koord plus(koord k) { return new Koord(getX()+k.getX(),getY()+k.getY()); public Koord orthogonal() { return new Koord(-getY(),getX()); // wird von System.out.println() verwendet String s = "("+getx()+","+gety()+")"; 4
5 public boolean equals(object o) { if (this.getclass() == o.getclass()) return ( ((Koord)o).getX()==getX() )&&( ((Koord)o).getY()==getY() ); else return false; return new Koord(getX(),getY()); class Kreis extends Figur { private double radius; private void setradius(double r) { radius=r; public double getradius() { return radius; // Konstruktor Kreis(Koord k, double r) { super(k); setradius(r); String s = "Kreis um "+getort()+" mit Radius "+getradius(); if (super.equals(f)) return ( ((Kreis)f).getRadius()==getRadius()); else return false; return new Kreis(getOrt(),getRadius()); class Linie extends Figur{ private Koord ziel; private void setziel(koord k) { ziel=k; public Koord getziel() { return (Koord)ziel.clone(); // Konstruktoren Linie(Koord k1,koord k2) { super(k1); setziel(k2); 5
6 Linie(double x1, double y1, double x2, double y2) { super(new Koord(x1,y1)); setziel(new Koord(x2,y2)); if (f.getclass() == getclass()) return istparallelzu((linie)f) && gehtdurch(f.getort()); else return false; String s = "Linie auf "+getort()+getziel(); return new Linie(getOrt(),getZiel()); public void verschiebeum(koord k) { super.verschiebeum(k); setziel(getziel().plus(k)); public boolean istparallelzu(linie l) { Koord k1=getziel().minus(getort()).orthogonal(); Koord k2=l.getziel().minus(l.getort()); return k1.skalarp(k2)==0; public Koord schnittmit(linie l) { Koord a=getziel().minus(getort()); Koord b=l.getziel().minus(l.getort()); double alpha; if (b.getx()==0) alpha = (l.getort().getx() - getort().getx())/a.getx(); else alpha = (l.getort().gety()-getort().gety()-(b.gety()/b.getx())* (l.getort().getx()-getort().getx())) /(a.gety()-a.getx()*b.gety()/b.getx()); return new Koord(getOrt().getX()+alpha*a.getX(), getort().gety()+alpha*a.gety()); public boolean gehtdurch(koord k) { return (k.minus(getort()).skalarp(getziel().minus(k).orthogonal())==0); class Punkt extends Figur { // Konstruktoren Punkt(Koord k) { super(k); Punkt(double x,double y) { super(new Koord(x,y)); // öffentlich nutzbare Methoden String s = "Punkt "+getort(); 6
7 public double abstandzu(figur f) { return f.getort().minus(getort()).betrag(); return new Punkt(getOrt()); class Strecke extends Linie {... kommen keine neuen hinzu // Konstruktor(en) Strecke(Koord k1,koord k2) { super(k1,k2); Strecke(double x1, double y1, double x2, double y2) { super(x1,y1,x2,y2); public double Laenge() { return getziel().minus(getort()).betrag(); String s="strecke von "+getort()+" bis "+getziel(); public Koord schnittmit(linie l) { Koord k=super.schnittmit(l); if (gehtdurch(k)&&l.gehtdurch(k)) return k; else return null; public boolean gehtdurch(koord k) { double ortx = getort().getx(), zielx = getziel().getx(), kx = k.getx(); return super.gehtdurch(k) && ((ortx <= kx && kx <= zielx) (ortx >= kx && kx >= zielx)); public Gerade mittelsenkrechte() { Koord richtung = getziel().minus(getort()).orthogonal(); Koord mitte = getziel().plus(getort()).mal(.5); return new Gerade(mitte,mitte.plus(richtung)); return new Strecke(getOrt(),getZiel()); return super.equals(f) && Laenge() == ((Strecke)f).Laenge() && gehtdurch(((strecke)f).getziel()); 7
8 Beiblatt zur Aufgabe 7) class Dreieck extends Figur { private Koord p, q; private void setp(koord k) { this.p = k; private void setq(koord k) { this.q = k; public Koord getp() { return (Koord) p.clone(); public Koord getq() { return (Koord) q.clone(); // Konstruktor Dreieck(Koord k1, Koord k2, Koord k3) { super(k1); setp(k2); setq(k3); String s = "Dreieck " + getort() + getp() + getq(); if (super.equals(f)) { return ((Dreieck) f).getp().equals(getp()) && ((Dreieck) f).getq().equals(getq()); else { return false; // was wenn D1=p1,p2,p3 und D2=p2,p1,p3, // d.h. gleiche Punkte, aber andere Reihenfolge??? return new Dreieck(getOrt(), getp(), getq()); public void verschiebeum(koord k) { super.verschiebeum(k); setp(getp().plus(k)); setq(getq().plus(k)); class Umkreis { public static void main(string args[]) { // Dreieck Dreieck d1 = new Dreieck(new Koord(-2, -4), new Koord(4, -2), new Koord(-2, 4)); System.out.println("d1:" + d1); 8
9 // Kreis durch Dreieckpunkte mittels 2 Strecken und // deren Mittelsenkrecheten System.out.println("Berechne Kreis durch die Punkte des Dreiecks d1\n"); // Strecken berechnen Strecke s3 = new Strecke(d1.getOrt(), d1.getp()); Strecke s4 = new Strecke(d1.getOrt(), d1.getq()); System.out.println("s3 von Punkt1 nach Punkt2:\n" + s3); System.out.println("s4 von Punkt1 nach Punkt3:\n" + s4); // Mittelsenkrechten Gerade g3 = s3.mittelsenkrechte(); Gerade g4 = s4.mittelsenkrechte(); System.out.println("Mittelsenkrechte von s3:" + g3); System.out.println("Mittelsenkrechte von s4:" + g4); // Schnittpunkt Koord k = g3.schnittmit(g4); System.out.println("Schnittpunkt der Mittelsenkrechten:" + k); // Radius double d = k.minus(d1.getort()).betrag(); System.out.println("Radius = Abstand von Punkt1 zu Schnittpunkt:" + d); // Kreis System.out.println("Ergebnis ist der Umkreis des Dreiecks:"); Kreis kr2 = new Kreis(k, d); System.out.println(kr2 + "\n"); 9
6. Globalübung (zu Übungsblatt 8)
6. Globalübung (zu Übungsblatt 8) Inhalt: Klassenhierarchien Verdecken von Attributen Überschreiben von Methoden Codeanalyse Analyse von JAVA-Programmen Semestralklausur Klausurtermin: Mittwoch 11.01.2006
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,
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 9 Lösungsvorschlag Objektorientierte Programmierung 26. 06. 2006 Aufgabe 19 (Sieb des Erathostenes)
Mehr16. Dezember 2004 Dr. M. Schneider, P. Ziewer
Technische Universität München WS 2004/2005 Fakultät für Informatik Lösungsvorschläge zu Blatt 8 A. Berlea, M. Petter, 16. Dezember 2004 Dr. M. Schneider, P. Ziewer Übungen zu Einführung in die Informatik
Mehr! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -
! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete II.4.2 Abstrakte Klassen und Interfaces - 1 - Ähnliche Programmteile public class Bruchelement { Bruch wert;
MehrAbgabe: keine Pflichtabgabe (vor 12 Uhr) Aufgabe 10.1 (P) Vererbung Gegeben seien folgende Java-Klassen:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2011 Einführung in die Informatik I Übungsblatt 10 Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,
MehrII.4.2 Abstrakte Klassen und Interfaces - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.2 Abstrakte Klassen und Interfaces - 1
MehrLetztes Mal. static int ggt(int a, int b) { if (a == b) return a; else if (a > b) return ggt(a-b,b); else if (a < b) return ggt(a,b-a);
Letztes Mal static int ggt(int a, int b) { if (a == b) return a; else if (a > b) } return ggt(a-b,b); else if (a < b) return ggt(a,b-a); Darf hier nicht stehen! Compiler sagt: Missing return statement
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
MehrMusterlösung Stand: 5. Februar 2009
Fakultät IV Elektrotechnik/Informatik Probeklausur Einführung in die Informatik I Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der Teilleistung TL 2 (Programmiertest)
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
MehrAlgorithmen und Datenstrukturen Wintersemester 2008/ Übung Abgabe bis , 10:00 Uhr
4. Übung Abgabe bis 17.11.2008, 10:00 Uhr Aufgabe 4.1: Sichtbarkeit und Referenzen 20 Punkte Geben Sie ihre Antworten als Sichtbarkeit.pdf ab. a) Betrachten Sie folgenden Code: 1 public class Vis { 26
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 5 Lösungsvorschlag Objektorientierte Programmierung 22. 05. 2006 Lösung 9 (SMS-Eingabe am
Mehr// compiliert, aber Programmabbruch zur Laufzeit: einesuppe = ((EßbarerPilz)einPilz).kochen();
Typecast class Pilz void suchen() void sammeln() class EßbarerPilz extends Pilz Suppe kochen() Suppe einesuppe = new Suppe(); return einesuppe; class GiftPilz extends Pilz void entsorgen() class Suppe
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,
MehrHumboldt-Universität zu Berlin Wintersemester 2010/11 Institut für Informatik Grundlagen der Programmierung. 6. Übungsblatt
Humboldt-Universität zu Berlin Wintersemester 2010/11 Institut für Informatik Grundlagen der Programmierung Prof. Redlich 6. Übungsblatt 21 (+4) Punkte Abgabe bis 31.01.2010 (08:00 Uhr) über GOYA Aufgabe
MehrJAVA - Methoden
Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 sind eine Zusammenfassung von Deklarationen und Anweisungen haben einen Namen und können
MehrJAVA für Nichtinformatiker - Probeklausur -
JAVA für Nichtinformatiker - Probeklausur - Die folgenden Aufgaben sollten in 150 Minuten bearbeitet werden. Aufgabe 1: Erläutere kurz die Bedeutung der folgenden Java-Schlüsselwörter und gib Sie jeweils
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)
Mehr3. Übungsbesprechung Programmkonstruktion
3. Übungsbesprechung Programmkonstruktion Karl Gmeiner karl@complang.tuwien.ac.at November 16, 2011 K Gmeiner (karl@complang.tuwien.ac.at) 3. Übungsbesprechung PK November 16, 2011 1 / 22 Rückblick und
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 10: Mehr zur Vererbung und abstrakte Klassen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Mehr zur Vererbung Methoden vererben und überschreiben
Mehr1. Typen und Literale (6 Punkte) 2. Zuweisungen (6 = Punkte)
Praktische Informatik (Software) Vorlesung Softwareentwicklung 1 Prof. Dr. A. Ferscha Hauptklausur am 01. 02. 2001 Zuname Vorname Matr. Nr. Stud. Kennz. Sitzplatz HS / / / Punkte Note korr. Fügen Sie fehlende
MehrSortieren von Objekten
Algorithmen und Datenstrukturen Wintersemester 2013/14 18. Vorlesung Sortieren von Objekten Krzysztof Fleszar Lehrstuhl für Informatik I 1 Die Welt in unseren Programmen 1.357374356-4.526426 25236748458
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
MehrPraktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben
Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 017/18 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 11 Besprechung: 15. 19.01.018 (KW 3) Vorbereitende
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
MehrCoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.
CoMa 04 Java II Paul Boeck Humboldt Universität zu Berlin Institut für Mathematik 7. Mai 2013 Paul Boeck CoMa 04 7. Mai 2013 1 / 13 Verzweigungen Wenn-Dann Beziehungen if (BEDINGUNG) { else if (BEDINGUNG2)
MehrII.4.1 Unterklassen und Vererbung - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.4.1 Unterklassen und Vererbung
MehrFAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2007/2008 Praktikum Grundlagen der Programmierung Lösungsvorschläge zu Blatt 8 F. Forster, T.
MehrInformatik II Übung, Woche 17
Giuseppe Accaputo 28. April, 2016 1. Vererbung 2. Vorbesprechung Übung 8 Plan für heute 3. Erweiterung des Vorlesungsverzeichnis (VVZ) (Live-Programmierung) Informatik II (D-BAUG) Giuseppe Accaputo 2 Vererbung
MehrII.4.5 Generische Datentypen - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.5 Generische Datentypen - 1 - Ähnliche
MehrKapitel 6. Vererbung
Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen
MehrKapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
MehrInstitut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 17. Juli 2015 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 7. September
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
MehrAufgabenblatt: OOP - Seite 1. (2.) Geometrie: Erstellen Sie eine Klasse CPyramid, die sich von der Klasse Square ableitet:
Aufgabenblatt: OOP - Seite 1 Aufgabenblatt: OOP II (1.) Gegeben ist nebenstehende die Klasse CPoint! (a.) Schreiben Sie eine Subklasse CPoint3 mit nebenstehenden Eigenschaften und Methoden und Testen Sie
MehrII.3.1 Rekursive Algorithmen - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.3.1 Rekursive Algorithmen -
MehrJAVA - Methoden - Rekursion
Übungen Informatik I JAVA - Methoden - Rekursion http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 1 Methoden Methoden sind eine Zusammenfassung von Deklarationen und Anweisungen
MehrEinführung in die Programmierung für NF. Vererbung
Einführung in die Programmierung für NF Vererbung Ziele Vererbungsprinzip der objektorien=erten Programmierung verstehen und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden
MehrSilke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: hat Farbe Hubraum Tank kann man Gas geben Bremsen Hoch
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
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
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
Mehr14 Abstrakte Klassen, finale Klassen, Interfaces
Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse
MehrUNIVERSITÄT SIEGEN Fachbereich 12, Elektrotechnik und Informatik Fachgruppe Betriebssysteme / verteilte Systeme
UNIVERSITÄT SIEGEN Fachbereich 12, Elektrotechnik und Informatik Fachgruppe Betriebssysteme / verteilte Systeme Musterklausur zur Einführung in die Informatik II 1. Teilklausur, 23.06.2006 Bitte lesen
MehrObjektorientierung (OO)
Objektorientierung (OO) Objekte haben Zustände (oder Eigenschaften, Attribute) und Verhalten Zustände: Objektvariablen (in Java auch fields) Verhalten (oder Aktionen): Methoden (methods, Funktionen) members
MehrSilke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode
Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode
MehrInterfaces und Generics
Algorithmen und Datenstrukturen Wintersemester 2012/13 21. Vorlesung Interfaces und Generics Jan-Henrik Haunert Lehrstuhl für Informatik I Übersicht Liste und InsertionSort für Punkte für Objekte beliebiger
MehrJava - Programmierung - Objektorientierte Programmierung 1
Java - Programmierung - Objektorientierte Programmierung 1 // Klassen und Objekte public class KlaObj public static void main(string args []) Klasse1 a; a = new Klasse1("heute", 47); Klasse1 b = new Klasse1
Mehr14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen
Auswertung von Ausdrücken Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt.
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
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.
MehrTECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2006/2007 Praktikum Grundlagen der Programmierung Lösungsvorschläge zu Blatt 8 F. Forster, M.
MehrKlausur Software-Entwicklung März 01
Aufgabe 1: minimaler Punktabstand ( 2+5 Punkte ) Matrikelnr : In einem Array punkte sind Koordinaten von Punkten gespeichert. Ergänzen Sie in der Klasse Punkt eine Klassen-Methode (=static Funktion) punktabstand,
MehrKapitel 8. Programmierkurs. Methoden. 8.1 Methoden
Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08
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
MehrÜbungsstunde 9. Einführung in die Programmierung I
Übungsstunde 9 Einführung in die Programmierung I Probleme bei Übung 8 [TODO Assistent] Nachbesprechung Übung 9 Aufgabe 1 Spieler Spieler[] spieler = { new ZufallsWortSpieler(), new ZufallsWortSpielerMitGedaechtnis(),
MehrKlausur: Java (Liste P)
Klausur: Java (Liste P) SS05 Erlaubte Hilfsmittel: Gebundene! Unterlagen (Skript mit Anmerkungen, eigene Mitschrift) und maximal ein Buch. Bitte keine losen Blätter. Lösung ist auf den Klausurbögen anzufertigen.
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]
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
MehrPraktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben
Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt
MehrModularisierung in Java: Pakete Software Entwicklung 1
Modularisierung in Java: Pakete Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller Um zusammengehörende Klassen, Interfaces, etc. gemeinsam zu verwalten, Sichtbarkeiten einzugrenzen und
MehrWas du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen. J. W. v. Goethe.
Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen. J. W. v. Goethe http://www.zitate-online.de/autor/goethe-johann-wolfgang-von/ http://www.weimar-lese.de/files_weimar_lese/johann_wolfgang_von_goethe_bearbeitet_von_andreas_werner.jpg
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
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)
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
Mehr! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.
! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.4 Exceptions - 1 - Ausnahmen (Exceptions( Exceptions) Treten auf, wenn zur
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 11: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes
MehrUniversität Paderborn Prof. Dr. Heike Wehrheim. Betreutes Arbeiten. Ab diese Woche: freitags, 14 16, E-Pool (während Tutorium Knopf) GPI, WS 07/08
Betreutes Arbeiten Ab diese Woche: freitags, 14 16, E-Pool (während Tutorium Knopf) 375 Wiederholung Klasse: class Klassenname { konzeptuelle Einheit der Modellierungsdomäne kapselt Daten und Operationen
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
MehrEinführung in die Informatik I Informatik I/A
Prof. Dr. V. Linnemann Henrike Schuhart Universität zu Lübeck Institut für Informationssysteme Lübeck, den 21. Januar 2005 Einführung in die Informatik I Informatik I/A Wintersemester 2004/05 Lösung: 12.
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,
MehrEinführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe
Ludwig-Maximilians-Universität München München, 04.12.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt
MehrTest zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler. 31. Jänner 2003
Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler 1. Jänner 00 Name Martrikelnummer Unterschrift Bitte kreuzen Sie das Studium an, für das Sie diese Prüfung ablegen: O Bakkalaureat
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
MehrKapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt
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
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrÜbungsblatt 7. Was ist die Ausgabe de facto? Entspricht die Ausgabe Ihren Erwartungen?
»Programmieren«, WS 2006/2007 Nino Simunic (nino.simunic@uni-due.de) Übungsblatt 7 Die benötigten Quelltexte finden Sie hier: http://imperia.uni-due.de/imperia/md/content/computerlinguistik/uebungsblatt_7_code.zip
MehrKlassen mit Instanzmethoden
Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 3.12.07 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 3.12.07
MehrPraktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel
Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel FB Physikalische Technik Musterlösungen Teil 4 Aufgabe 1 package teil4; import javax.swing.*; public class Ei { int haltung, ident; String
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
MehrProgrammieren 2 Java Überblick
Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 4 Innere Klassen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 2 22.03.2017 Was bisher geschah... Klassen und Objekte Attribute und Methoden Klasse Bruch
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen
5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden
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: 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
MehrPraktische Softwaretechnologie Vorlesung 3
Praktische Softwaretechnologie Vorlesung 3 Martin Giese Johann Radon Institute for Computational and Applied Mathematics Österr. Akademie der Wissenschaften Linz PSWT 2006 24. Oktober 2006 p.1/26 Klassendefinition
MehrProgrammieren in Java
Programmieren in Java Einführung in die objektorientierte Programmierung Teil 3 2 Übersicht der heutigen Inhalte Pakete Beispiel zur Verdeckung Polymorphie Modifikatoren bei Klassenelementen 3 Zusammenhang
Mehr1 Abstrakte Klassen, finale Klassen und Interfaces
1 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,
MehrDie Klasse java.lang.object. Thorsten Treffer
Die Klasse java.lang.object Thorsten Treffer 6. Dezember 2003 1 java.lang.object Die Klassenhierarchie von Java kann als Baum aufgezeichnet werden, dessen Wurzel die Klasse Object ist. Mit anderen Worten:
MehrWiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung
Wiederholung Wozu? Schreiben Benutzen Rekursion?! Javakurs 2012, 3. Vorlesung maggyrz@freitagsrunde.org 5. März 2013 Wiederholung Wozu? Schreiben Benutzen Rekursion?! 1 Wiederholung 2 Wozu? 3 Schreiben
MehrInstitut für Programmierung und Reaktive Systeme 5. Dezember Programmieren I. 5. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 5. Dezember 2016 Programmieren I 5. Übungsblatt Hinweis: Auf diesem und den folgenden Übungsblättern
MehrGrundlagen der Objektorientierung
Grundlagen der Objektorientierung Klassen, Attribute, Methoden Kapselung und Konstruktoren Vererbung Packages Interfaces und Adapterklassen 04.06.2008 Marcel Wieczorek 14 Klassen, Attribute, Methoden package
MehrEinstieg in die Informatik mit Java
Vorlesung vom 07.01.2008 Übersicht 1 Warm-Up zum Jahresbeginn 2 Anfangswertprobleme 3 Polygonzüge 4 Das Eulersche Polygonzugverfahren Warm-Up zum Jahresbeginn 1 Warm-Up zum Jahresbeginn 2 Anfangswertprobleme
MehrTest zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler. 28. Februar 2003
Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler 8. Februar 00 Name Martrikelnummer Unterschrift Bitte kreuzen Sie das Studium an, für das Sie diese Prüfung ablegen: Bakkalaureat
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
MehrSommersemester Jewgeni Rose. Technische Universität Braunschweig
P r o b e k l a u s u r Z u s a t z a u f g a b e n E i n f ü h r u n g i n d a s P r o g r a m m i e r e n Sommersemester 2013 Jewgeni Rose Technische Universität Braunschweig j.rose@tu-bs.de 1 Aufgabe
Mehr