Abgabe: keine Pflichtabgabe (vor 12 Uhr) Aufgabe 10.1 (P) Vererbung Gegeben seien folgende Java-Klassen:
|
|
- Helmut Brahms
- vor 6 Jahren
- Abrufe
Transkript
1 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, Dr. M. Petter Abgabe: keine Pflichtabgabe (vor 12 Uhr) Aufgabe 10.1 (P) Vererbung Gegeben seien folgende Java-Klassen: interface I { public void f ( ) ; interface J { public void g ( ) ; class A implements I { public A( ) { System. out. p r i n t l n ( A ) ; public void f ( ) { System. out. p r i n t l n ( f ( ) in A ) ; h ( ) ; public void g ( ) { System. out. p r i n t l n ( g ( ) in A ) ; public void h ( ) { System. out. p r i n t l n ( h ( ) in A ) ; class B extends A { public B( ) { super ( ) ; public void h ( ) { System. out. p r i n t l n ( h ( ) in B ) ; public void g ( ) { System. out. p r i n t l n ( g ( ) in B ) ; super. h ( ) ; class C { public void h ( ) { System. out. p r i n t l n ( h ( ) in C ) ; class D extends B implements I, J { public void f ( ) { System. out. p r i n t l n ( f ( ) in D ) ; super. f ( ) ; g ( ) ; public void h ( ) { System. out. p r i n t l n ( h ( ) in D ) ; a) Folgende Anweisungen werden vom Compiler erfolgreich übersetzt: i) I a = new A(); Richtig Falsch ii) A a = new A(); B b = a; Richtig iii) B b = new D(); J j = (D) b; Richtig Falsch Falsch iv) B b = new B(); I i = b; Richtig Falsch v) C c = new B(); Richtig Falsch vi) D d = new B(); Richtig Falsch
2 2 b) Welche Ausgaben produzieren die folgenden Anweisungen? i) A a = new A(); a.f(); A f() in A h() in A ii) A a = (A) new B(); a.f(); A f() in A h() in B iii) B b = new B(); b.g(); A g() in B h() in A iv) C c = new C(); c.h(); h() in C v) D d = new D(); d.h(); A h() in D vi) D d = new D(); d.f(); A f() in D f() in A h() in D g() in B h() in A
3 3 Aufgabe 10.2 (P) Vererbung Gegeben seien folgende Java-Klassen: class L i s t { private int i n f o ; public L i s t next ; public L i s t ( int i n f o, L i s t next ) { this. i n f o=i n f o ; this. next=next ; public S t r i n g t o S t r i n g ( ) { i f ( next==null ) return i n f o+ ; ; return i n f o+, +next ; public int g e t I n f o ( ) { return i n f o ; class A { private L i s t l = f i l l L i s t ( 5 ) ; public void f ( ) { System. out. p r i n t l n ( f ( ) in A; l= +l ) ; public void g ( ) { System. out. p r i n t l n ( g ( ) in A ) ; s ( ) ; public static void s ( ) { System. out. p r i n t l n ( s ( ) in A ) ; private static L i s t f i l l L i s t ( int i ) { L i s t l = null ; for ( int j = i ; j >0; j ) l= new L i s t ( i, l ) ; return l ; public S t r i n g t o S t r i n g ( ) { S t r i n g s = ; while ( l!= null ) { s=s+ +l. g e t I n f o ( ) ; l=l. next ; return s ; class B extends A { private L i s t l ; public void f ( ) { System. out. p r i n t l n ( f ( ) in B; l= +l ) ; public void g ( ) { System. out. p r i n t l n ( g ( ) in B ) ; s ( ) ; public static void s ( ) { System. out. p r i n t l n ( s ( ) in B ) ; a) Folgende Anweisungen werden vom Java-Compiler erfolgreich übersetzt: i) List l = new List(42,l); Richtig Falsch ii) List l; l = new List(42,l); Richtig Falsch iii) List l = null; l = new List(42,l); Richtig Falsch iv) List l = null; l.next = new List(42,l); Richtig Falsch v) List l = new List(42,new List(13,null)); l.next.info=42; Richtig vi) List l = new List(42,null);l.next.toString();. Richtig Falsch Falsch
4 4 b) Welche Ausgaben produzieren die folgenden Anweisungen? i) B b = new B(); b.f(); f() in B; l=null ii) A a = new B(); a.s(); s() in A iii) A a = new B(); a.g(); g() in B s() in B iv) A a = new B(); a.f(); f() in B; l=null v) A a = new A(); a.f(); f() in A; l=5,5,5,5,5; vi) A a = new A(); System.out.println(a + + a);
5 5 Aufgabe 10.3 (P) Prismen Prismen oder Zylinder sind geometrische Körper, die durch Parallelverschiebung ihrer Grundfläche im Raum entstehen. Die folgende Abbildung zeigt als Beispiele für Prismen ein Dreiecksprisma, einen Quader und einen Zylinder, die durch Verschiebung eines Dreiecks, eines Rechtecks bzw. eines Kreises entstehen: Würfel sind durch ihre Höhe eindeutig bestimmt. Quader sind durch ihre Höhe, Länge und Breite bestimmt. Kreiszylinder sind durch ihre Höhe und den Radius ihrer Grundfläche bestimmt. Regelmässige Vielecksprismen sind durch ihre Höhe und die Seitenlänge ihrer jeweiligen Grundfläche bestimmt. In Frage kommen zum Beispiel regelmässige Dreiecksprismen oder quadratische Quader oder regelmässige n-ecksprismen. An Operationen sollen die Körper die Berechnung von Umfang und Flächeninhalt ihrer Grundfläche, die Berechnung ihrer Mantelfläche, ihrer Oberfläche und ihres Volumens zur Verfügung stellen sowie den Vergleich ihrer Volumina mit denen anderer geometrischer Körper unterstützen. In dieser Aufgabe soll eine Klassenhierarchie für diese geometrischen Körper in UML modelliert und in Java implementiert werden. a) Geben Sie ein Klassendiagramm zur Modellierung der oben genannten Körper in UML an. b) An welcher Stelle Ihrer Klassenhierarchie müssen die in a) spezifizierten Operationen implementiert werden, damit möglichst viel in Unterklassen wiederverwendet werden kann? c) Greifen Sie 3 geometrische Körper aus Ihrem Klassenmodell heraus und implementieren Sie diese in Java. Schreiben Sie zudem ein kleines Testprogramm. Hinweise: Fassen Sie gleichartige Attribute und Methoden in einer geeigneten Oberklasse zusammen. Die Fläche eines gleichseitigen Dreiecks mit Seitenlänge a ist a2 4 3 Die Fläche eines regelmässigen Sechsecks mit Seitenlänge a ist 3a Die Java-Klasse Math stellt in der Klassenvariablen Math.PI einen Wert für π sowie in der Klassenmethode Math.sqrt() die Berechnung der Quadratwurzel zur Verfügung. Lösungsvorschlag 10.3 a) Eine geeignete Modellierung würde folgendermaßen aussehen:
6 6 Prisma # hoehe: Double + mantelflaeche(): Double + oberflaeche(): Double + mvolumen(): Double + comparevolumento(prisma p): Integer RegelmaessigesPrisma # seite: Double Wuerfel Quader! laenge: Double! breite: Double Zylinder! radius: Double RegelmaessigesDreiecksPrisma QuadratischerQuader RegelmaessigesSechsecksPrisma b) Die Operationen inhaltgrundflaeche() und umfanggrundflaeche() sind von der Grundfläche des konkreten Prismas abhängig und können erst dort implementiert werden. Alle anderen Operationen können bereits in der Klasse Prisma implementiert werden und diese Implementierung an alle Unterklassen zur Wiederverwendung vererben. Dabei stützen sie sich teilweise auf die beiden Operationen inhaltgrundflaeche() und umfanggrundflaeche() ab. c) Die Oberklasse Prisma für beliebige gerade Prismen: public class Prisma { // Gemeinsames Attribut aller Prismen ist die Hoehe: protected double hoehe; public Prisma (double h) { hoehe = h; // Die Operationen umfanggrundflaeche() und inhaltgrundflaeche() // sind abhaengig von der Form des konkreten Prismas und werden // hier nur aus technischen Gruenden definiert; // In den verschiedenen Unterklassen muessen diese Methoden dann // ueberschrieben werden. Später werden sie // durch abstrakte Methoden ersetzt: public double umfanggrundflaeche(){ return 0; public double inhaltgrundflaeche(){ return 0; // Die anderen Operationen koennen bereits in dieser Klasse implementiert // werden:
7 7 public double mantelflaeche() { return umfanggrundflaeche() * hoehe; public double oberflaeche() { return mantelflaeche() + 2 * inhaltgrundflaeche(); public double volumen() { return inhaltgrundflaeche() * hoehe; public int comparevolumento(prisma p) { double v1 = volumen(); double v2 = p.volumen(); if (v1 < v2) return -1; else if (v1 > v2) return 1; else return 0; Die Klasse Wuerfel als Unterklasse von Prisma: public class Wuerfel extends Prisma { public Wuerfel(double h) { super(h); // Implementation der Operationen umfanggrundflaeche() und // inhaltgrundflaeche(): public double umfanggrundflaeche() { return 4 * hoehe; public double inhaltgrundflaeche() { return hoehe * hoehe; Die Klasse Quader als Unterklasse von Prisma: public class Quader extends Prisma { // Zusaetzlich sind die Attribute Laenge und Breite der Grundflaeche // noetig: private double laenge; private double breite;
8 8 public Quader(double h, double l, double b) { super(h); laenge = l; breite = b; // Implementation der Operationen umfanggrundflaeche() und // inhaltgrundflaeche(): public double umfanggrundflaeche() { return 2 * (laenge + breite); public double inhaltgrundflaeche() { return laenge * breite; Die Klasse Zylinder als Unterklasse von Prisma: public class Zylinder extends Prisma { // Zusaetzlich ist das Attribute Radius Grundflaeche noetig: private double radius; public Zylinder (double h, double r) { super(h); radius = r; // Implementation der Operationen umfanggrundflaeche() und // inhaltgrundflaeche(): public double umfanggrundflaeche() { return 2 * radius * Math.PI; public double inhaltgrundflaeche() { return radius * radius * Math.PI; Die Klasse RegelmaessigesPrisma als Unterklasse von Prisma und Oberklasse für alle regelmäßigen Prismen: public class RegelmaessigesPrisma extends Prisma { // alle Grundflaechen regelmaessiger Prismen sind gleichseitige // Vielecke. Als zusaetzliches Attribut genuegt die Seitenlaenge: protected double seite; public RegelmaessigesPrisma(double h, double s) { super(h); seite = s;
9 9 Die Klasse RegelmaessigesSechsecksPrisma als Unterklasse von RegelmaessigesPrisma: public class RegelmaessigesSechsecksPrisma extends RegelmaessigesPrisma { public RegelmaessigesSechsecksPrisma(double h, double s) { super(s, h); // Implementation der Operationen umfanggrundflaeche() und // inhaltgrundflaeche(): public double umfanggrundflaeche() { return 6 * seite; public double inhaltgrundflaeche() { return 3 * seite * seite * Math.sqrt(3) / 2;
10 10 Aufgabe 10.4 [0 Punkte] (H) Vererbung Gegeben seien folgende Java-Klassen: class A { public void f ( ) { System. out. p r i n t l n ( f ( ) in A ) ; public void g ( ) { System. out. p r i n t l n ( g ( ) in A ) ; f ( ) ; class B extends A { public void f ( ) { System. out. p r i n t l n ( f ( ) in B ) ; public void h ( ) { System. out. p r i n t l n ( h ( ) in B ) ; f ( ) ; g ( ) ; class C extends A { public void h ( ) { System. out. p r i n t l n ( h ( ) in C ) ; f ( ) ; g ( ) ; interface I { public void m( ) ; abstract class D { public abstract void n ( boolean b ) ; public void o ( ) { System. out. p r i n t l n ( o ( ) in D ) ; n ( f a l s e ) ; class E extends D { public void n ( boolean b ) { System. out. p r i n t l n ( n ( ) in E ) ; i f ( b ) o ( ) ; public void m( ) { System. out. p r i n t l n ( m( ) in E ) ; c l a s s F extends E implements I { public void n ( boolean b ) { System. out. p r i n t l n ( n ( ) in F ) ; a) Folgende Anweisungen werden vom Compiler erfolgreich übersetzt: i) A a = new A(); Richtig Falsch ii) B b = new B(); A t = b; Richtig iii) B b = new A(); Richtig Falsch Falsch iv) D d = new D(); Richtig Falsch v) D d = new F(); Richtig Falsch vi) F f = new F(); I i = f; Richtig Falsch
11 11 b) Welche Ausgaben produzieren die folgenden Anweisungen? i) A a = new A(); a.g(); g() in A f() in A ii) B b = new B(); b.h(); h() in B f() in B g() in A f() in B iii) C c = new C(); c.g(); g() in A f() in A iv) B b = new B(); A a = b; a.g(); g() in A f() in B v) D d = new E(); d.n(true); n() in E o() in D n() in E vi) F f = new F(); f.o(); o() in D n() in F
FAKULTÄ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.
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
MehrObjektorientierung II
9Lehrstuhl für Bioinformatik Einführung in die Programmierung für Bioinformatiker Prof. B. Rost, Dr. L. Richter Blatt 09 19.12.2016 Objektorientierung II Aufgabe 9.1. Modellierung - Geometrische Figuren
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.
MehrInstitut fu r Informatik
Technische Universita t Mu nchen Institut fu r Informatik Lehrstuhl fu r Bioinformatik Einfu hrung in die Programmierung fu r Bioinformatiker Prof. B. Rost, L. Richter Java, Objektorientierung 5.1 (U )
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;
Mehr6. 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
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
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
MehrOberfläche von Körpern
Definition Die Summe der Flächeninhalte der Flächen eines Körpers nennt man Oberflächeninhalt. Quader Der Oberflächeninhalt eines Quaders setzt sich folgendermaßen zusammen: O Q =2 h b+2 h l+2 l b=2 (h
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
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
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
MehrUniversität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober Klausur II
Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober 2001 Stefan Holland Informatik II Hinweise: Klausur II Verwenden Sie für Ihre Lösungen ausschließlich
MehrEinstieg in die Informatik mit Java
1 / 13 Einstieg in die Informatik mit Java Schnittstellen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Einführung 2 Definition einer Schnittstelle 3 Implementierung
MehrListElement (E i n f o, ListElement<E> prev, ListElement<E> next ) {
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 11 Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,
MehrAbstrakte Klassen, Interfaces
Abstrakte Klassen, Interfaces INE2, Mittwoch 8.00-9.35 / TE561 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was gehtes? Problemstellung Klassenhierachie - verschiedene geometrische
MehrTechnische Universita t Mu nchen Institut fu r Informatik
Technische Universita t Mu nchen Institut fu r Informatik Lehrstuhl fu r Bioinformatik Einfu hrung in die Programmierung fu r Bioinformatiker Prof. Dr. B. Rost, L. Richter Hinweis: WS 15/16 U bungsblatt
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
MehrSchrägbilder von Körpern Quader
Schrägbilder von Körpern Quader Vervollständige die Zeichnung jeweils zum Schrägbild eines Quaders. Bezeichne die für die Berechnung des Volumens und des Oberflächeninhalts notwendigen Seiten und bestimme
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
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)
MehrJava für Bauingenieure
1 JAVA für Bauingenieure Alexander Karakas SS 2008 Objektorientierte Programmierung 30.04.2008, CIP Pool Objektorientierte Programmierung Übersicht 2 Klasse und Objekt Polymorphismus und Vererbung Klassen
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.
MehrAlgorithmen und Datenstrukturen. Übersicht. Interfaces und Generics. InsertionSort für Punkte. InsertionSort für Punkte
Algorithmen und Datenstrukturen Wintersemester 2012/13 21. Vorlesung Übersicht Liste und InsertionSort für e für Objekte beliebiger Klassen für Objekte von Klassen, die ein(e) Nutzer(in) festlegen kann
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,
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
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 SS 2011 Einführung in die Informatik I Übungsblatt 5 Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,
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
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
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)
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
MehrInformatik II (D-ITET) Übungsstunde 6
Informatik II (D-ITET) Übungsstunde 6 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Nachbesprechung Übung 5 Besprechung der Vorlesung Die neue Serie... Zeit zum Programmieren / für
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
MehrKapitel 5: Interfaces
Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 5: Interfaces Folie 82 : Einleitung Betrachtet man die Programmierleistung für ein Produkt über einen längeren Zeitraum,
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
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
MehrInformatik II Übung 06. Benjamin Hepp 5 April 2017
Informatik II Übung 06 Benjamin Hepp benjamin.hepp@inf.ethz.ch 5 April 2017 Nachbesprechung U5 5 April 2017 Informatik II - Übung 01 2 Nachbesprechung U5 1. Einfach verkettete Listen Keine Probleme 2.
MehrTheorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
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
MehrTeil 2: OOP und JAVA (Vorlesung 11)
Teil 2: OOP und JAVA (Vorlesung 11) Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 28.06.06 1 Teil
Mehr1. Abstrakte Klassen
1. Abstrakte Klassen Lernziele 1. Abstrakte Klassen Lernziele: Das Konzept abstrakter Klassen und abstrakter Methoden kennen und verstehen, in der Lage sein, abstrakte Klassen und Methoden in Java zu formulieren,
MehrAllgemeine Hinweise:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2011 Einführung in die Informatik I Endtermklausur Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,
MehrRaum- und Flächenmessung bei Körpern
Raum- und Flächenmessung bei Körpern Prismen Ein Prisma ist ein Körper, dessen Grund- und Deckfläche kongruente Vielecke sind und dessen Seitenflächen Parallelogramme sind. Ist der Winkel zwischen Grund-
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 Implementierung I: Struktur
Sommersemester 2003 Implementierung I: Struktur 2 Aufgabe 3 Implementierung I: Struktur Umfang: 1 Woche Punkte: 50 P. In den ersten beiden Aufgaben wurden die Struktur und das Verhalten des Systems modelliert.
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
Mehrimport JavaKaraProgram; public class Quadrat extends JavaKaraProgram { // Anfang von Quadrat void turnaround() { kara.turnleft(); kara.
Informatik 11: Einführung in Java Kara legt Muster!(Lsg.) Gierhardt Aufgaben: 1. KARA soll ein mit Kleeblättern gefülltes Quadrat mit variabler Seitenlänge ablegen. Der Methodenaufruf quadratzeichnen(5)
MehrEinführung in C# Teil 3. Matthias Nübling
Einführung in C# Teil 3 Matthias Nübling Vorausgesetzte Grundkenntnisse Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
MehrProgrammierkurs Java
Programmierkurs Java Abstrakte Klassen und Methoden & Interfaces Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie
MehrDas HeronVerfahren für root(a) (Babilonisches Wurzelziehen)
Das HeronVerfahren für root(a) (Babilonisches Wurzelziehen) Ein weiteres Annäherungsverfahren für das Wurzelziehen Ein Spezialfall des Newton Verfahrens von Bieker Sebastian 11038605 Gruppe F Grün Geschichte:
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
Mehrpublic static void replace(stringbuffer b) { for (int i = 0; i < b.length(); i++) { char replacechar; switch( b.charat(i) ) {
Klausur aus Softwareentwicklung 1 Klausur am 3.2.2005 Institut für Pervasive Computing Univ.-Prof. Dr. Alois Ferscha Zuname Vorname Matr. Nr. SKZ HS Sitzplatz Punkte Note 1.Mehrfachverzweigung In einem
MehrVorausgesetzte Grundkenntnisse. Inhalt. Klassenhierarchie und Vererbung. Vererbung. Klassenhierarchie und Vererbung. Einführung in C# Teil 3
Vorausgesetzte Grundkenntnisse Einführung in C# Teil 3 Matthias Nübling Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
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
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.
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
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
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)
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]
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 2 Objektorientierte Programmierung 24. 04. 2006 Aufgabe 5 (Vererbung - Trace (Klausur FT
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
MehrAufgabe 1 (Programmanalyse, Punkte)
2 Aufgabe 1 (Programmanalyse, 8 + 6 Punkte) a) Geben Sie die Ausgabe des Programms für den Aufruf java M an. Schreiben Sie hierzu jeweils die ausgegebenen Zeichen hinter den Kommentar OUT:. public class
MehrUniversität zu Lübeck Institut für Telematik. Prof. Dr. Stefan Fischer
Universität zu Lübeck Institut für Telematik Prof. Dr. Stefan Fischer Probeklausur im Fach Programmieren Hinweise zur Bearbeitung: Es sind keinerlei Hilfsmittel zugelassen. Diese Klausur umfasst 18 Seiten.
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:
MehrDas Prisma ==================================================================
Das Prisma ================================================================== Wird ein Körper von n Rechtecken und zwei kongruenten und senkrecht übereinander liegenden n-ecken begrenzt, dann heißt der
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für
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
MehrInstitut für Informatik. Endterm Klausur zu Informatik I 20. Februar 2010
Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung Prof. R. Westermann Endterm Klausur zu Informatik I 20. Februar 2010 ˆ Die Arbeitszeit beträgt 120
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
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
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
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
MehrVererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus
Vererbung Generalisierung und Spezialisierung Vererbung und Polymorphismus Wir wollen in unserem Aquarium verschiedene Arten von Fischen schwimmen lassen. In einem ersten Ansatz definieren wir nicht nur
MehrKlassen und ihre Beziehungen III: Mehrfache Vererbung, Rollen, Schnittstellen und Pakete
2 Klassen und ihre Beziehungen III: Mehrfache Vererbung, Rollen, und Pakete Martin Wirsing Ziele Den Begriff der einfachen und mehrfachen Vererbung verstehen Verstehen, wann Vererbung eingesetzt wird deklarationen
MehrMusterlösung zum 8. Aufgabenblatt vom Dienstag, den 02. Juni 2009 zur Vorlesung. Informatik B. von Jacob Krause
Musterlösung zum 8. Aufgabenblatt vom Dienstag, den 02. Juni 2009 zur Vorlesung Informatik B von Jacob Krause 1. Rückgeldstückelung Schreiben Sie Pseudocode und ein Java Programm zur Bestimmung des Wechselgeldes
Mehr2.4 Datenabstraktion und Objektorientierung Datenabstraktion in Programmiersprachen
2.4 Datenabstraktion und Objektorientierung 2.4.1 Datenabstraktion in Programmiersprachen Datenabstraktion: zur Beherrschung von Komplexität unerlässlich. In jeder Programmiersprache kann man gemäß den
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:
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
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
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
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,
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,
Mehr2. Vererbung und Kapselung
2. Vererbung und Kapselung Die Objekte der Klasse BALL werden im Gegensatz zu den Objekten von KREIS noch nicht graphisch dargestellt. Um die BALL-Objekte auch graphisch darzustellen zu können, muss BALL
MehrProgrammierkurs C++ Abstrakte Klassen und Methoden
Programmierkurs C++ Abstrakte Klassen und Methoden Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie Obst double
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
MehrFormeln für Formen 4. Flächeninhalt. 301 Berechne die Höhe h von einem Rechteck, einem Parallelogramm und einem Dreieck, die jeweils den Flächeninhalt
1 7 Flächeninhalt 301 Berechne die Höhe h von einem Rechteck, einem Parallelogramm und einem Dreieck, die jeweils den Flächeninhalt A = cm 2 und die Grundlinie a = 4 cm haben. Rechteck: h = 2,5 cm Parallelogramm:
MehrKlausur Software-Entwicklung September 00
Aufgabe 1: Wahrheitstafeln ausgeben (ca. 8 Punkte) Matrikelnr : Ergänzen Sie in folgendem Programm, eine rekursive Funktion, die eine Boole'sche Wahrheitstafel für N Variablen ausgibt. Die Zahl N soll
MehrUnterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Kopiervorlagen Geometrie (3) - Stereometrie
Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Kopiervorlagen Geometrie (3) - Stereometrie Das komplette Material finden Sie hier: School-Scout.de Inhaltsverzeichnis Stereometrie
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
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Generics Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Überblick Generics 2 Generische Klassen 3 Generische Methoden 4
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
MehrProgrammiermethodik 2. Klausur Lösung
Programmiermethodik 2. Klausur Lösung 2. 10. 2013 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 20 2 18 3 42 4 20 5 20 Gesamt 120 1 Seite 2 von 12 Aufgabe 1) Objekt-Orientierung und Vererbung
MehrProgrammieren in Java
Programmieren in Java Vorlesung 10: Ein Interpreter für While Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1
MehrOberflächenberechnung bei Prisma und Pyramide
Lösungscoach Oberflächenberechnung bei Prisma und Pyramide Aufgabe Ein Schokoladenhersteller bekommt zwei Vorschläge für eine neue Verpackung: 5,9 cm 3 cm 2 cm 3 cm 3 cm Das linke Modell ist ein gerades
MehrAlgorithmen und Programmierung II
Algorithmen und Programmierung II Vererbung Prof. Dr. Margarita Esponda SS 2012 1 Imperative Grundbestandteile Parameterübergabe String-Klasse Array-Klasse Konzepte objektorientierter Programmierung Vererbung
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)
MehrElementare Längen, Flächen und Volumina. Bogenlänge. Rotationskörper
Elementare Längen, Flächen und Volumina. Bogenlänge. Rotationskörper Jörn Loviscach Versionsstand: 13. Januar 2010, 17:39 1 Elementare Längen, Flächen und Volumina Der Umfang des Einheitskreises ist vom
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