Lösungen zum Script. Seite 1 (Klasse, Objekt, Eigenschaften und Verhalten)

Größe: px
Ab Seite anzeigen:

Download "Lösungen zum Script. Seite 1 (Klasse, Objekt, Eigenschaften und Verhalten)"

Transkript

1 Lösungen zum Script Seite 1 (Klasse, Objekt, Eigenschaften und Verhalten) Aufgabe 1: Objekt: auch Instanz repräsentiert einen bestimmten Ausschnitt der Realität ist eine konkrete Ausprägung einer Klasse Eigenschaften: beschreiben den Aufbau/Zustand von Objekten werden durch Instanzvariablen dargestellt Verhalten: mögliche Aktivitäten von Objekten werden durch Methoden dargestellt Klasse: Bauanleitung für Objekte beschreibt, was ein Objekt hat und was ein Objekt kann Instanzvariablen: beschreiben die Eigenschaften einer Klasse Methoden: beschreiben das Verhalten einer Klasse Aufgabe 2: LebensmittelFrisch +bezeichnung +mindestdatum +einkaufspreis +verkaufspreis +ermittelnresthaltbarkeit() +ermittelnhandelsspanne() Aufgabe 3: Fahrzeug +kennzeichen +ps +hubraum +farbe +marke +typ +beschleunigen() +bremsen() +hupen() fahrzeug1 fahrzeug2 kennzeichen MS-HG 125 WAF-P 47 ps hubraum farbe rot schwarz marke VW Ford typ Golf Kuga

2 Seite 4 (Datentypen) Projekt: Person2 String name; int alter; double groesse; public Person(String meinname, int meinalter, double meinegroesse) name = meinname; alter = meinalter; groesse = meinegroesse; public void sprechen() System.out.println("Ich heiße "+name+" und bin "+alter+" Jahre alt."); System.out.println("Meine Größe ist " + groesse + " Meter.");

3 Seite 5 (Methoden mit Übergabeparametern) Projekt: Person3 String name; int alter; double groesse; double gewicht; public Person(String meinname, int meinalter, double meinegroesse, double meingewicht) name = meinname; alter = meinalter; groesse = meinegroesse; gewicht = meingewicht; public void zunehmen(double kilogramm) System.out.println(name + " hat " + gewicht + " Kilogramm gewogen."); gewicht = gewicht + kilogramm; System.out.println("Er hat " + kilogramm + " Kilogramm zugenommen."); System.out.println("Er wiegt jetzt " + gewicht + " Kilogramm."); System.out.println(); public void abnehmen(double kilogramm) System.out.println(name + " hat " + gewicht + " Kilogramm gewogen."); gewicht = gewicht - kilogramm; System.out.println("Er hat " + kilogramm + " Kilogramm abgenommen."); System.out.println("Er wiegt jetzt " + gewicht + " Kilogramm."); System.out.println();

4 Seite 6 (Methoden mit Rückgabeparametern) Projekt: Person5 String name; int alter; double groesse; double gewicht; public Person(String meinname, int meinalter, double meinegroesse, double meingewicht) name = meinname; alter = meinalter; groesse = meinegroesse; gewicht = meingewicht; public double errechnenbmi() double bodyindex; bodyindex = gewicht / (groesse * groesse); return bodyindex; public int ermittelnjahrebisrundergeburtstag() int rest; int jahre; rest = alter % 10; jahre = 10 - rest; return jahre;

5 Seite 7 (Methodenaufruf innerhalb derselben Klasse) Projekt: Person7 // Instanzvariablen String name; int alter; double groesse; double gewicht; double bmi; // Konstruktor für Objekte der Klasse Person public Person(String meinname, int meinalter, double meinegroesse, double meingewicht) name = meinname; alter = meinalter; groesse = meinegroesse; gewicht = meingewicht; bmi = errechnenbmi(); // Methode public double errechnenbmi() double bodyindex; bodyindex = gewicht / (groesse * groesse); return bodyindex; public int ermittelnjahrebisrundergeburtstag() int rest; int jahre; rest = alter % 10; jahre = 10 - rest; return jahre; public void ausgebeninformationrundergeburtstag() int jahr; jahr = ermittelnjahrebisrundergeburtstag(); System.out.println(name + " feiert seinen nächsten runden Geburtstag im Jahr " + jahr + ".");

6 Seite 8 (Methoden mit Übergabe- und Rückgabeparametern) Projekt: Person8 // Instanzvariablen String name; int alter; double groesse; double gewicht; double bmi; int familiengroesse; // Konstruktor für Objekte der Klasse Person public Person(String meinname, int meinalter, double meinegroesse, double meingewicht, int partner, int kinder) name = meinname; alter = meinalter; groesse = meinegroesse; gewicht = meingewicht; bmi = errechnenbmi(); familiengroesse = ermittelnfamiliengroesse(partner, kinder); // Methode public int ermittelnfamiliengroesse(int partner, int kinder) int familiengroesse = partner + kinder + 1; return familiengroesse;

7 Seite 9 (this-referenz) Projekt: Person9 // Instanzvariablen String name; int alter; double groesse; double gewicht; double bmi; int familiengroesse; // Konstruktor für Objekte der Klasse Person public Person(String meinname, int meinalter, double meinegroesse, double meingewicht, int partner, int kinder) this.name = meinname; this.alter = meinalter; this.groesse = meinegroesse; this.gewicht = meingewicht; this.bmi = this.errechnenbmi(); this.familiengroesse = this.ermittelnfamiliengroesse(partner, kinder); // Methode public void sprechen() System.out.println("Ich heiße " + this.name + " und bin " + this.alter + " Jahre alt."); System.out.println("Meine Größe ist " + this.groesse + " Meter."); public void zunehmen(double kilogramm) System.out.println(this.name + " hat " + this.gewicht + " Kilogramm gewogen."); this.gewicht = this.gewicht + kilogramm; System.out.println("Er hat " + kilogramm + " Kilogramm zugenommen."); System.out.println("Er wiegt jetzt " + this.gewicht + " Kilogramm."); System.out.println(); public void abnehmen(double kilogramm) System.out.println(this.name + " hat " + this.gewicht + " Kilogramm gewogen."); this.gewicht = this.gewicht - kilogramm; System.out.println("Er hat " + kilogramm + " Kilogramm abgenommen."); System.out.println("Er wiegt jetzt " + this.gewicht + " Kilogramm."); System.out.println(); public double errechnenbmi() double bodyindex; bodyindex = this.gewicht / (this.groesse * this.groesse); return bodyindex;

8 public int ermittelnjahrebisrundergeburtstag() int rest; int jahre; rest = this.alter % 10; jahre = 10 - rest; return jahre; public void ausgebeninformationrundergeburtstag() int jahr; jahr = this.ermittelnjahrebisrundergeburtstag(); System.out.println(this.name + " feiert seinen nächsten runden Geburtstag im Jahr " + jahr + "."); public int ermittelnfamiliengroesse(int partner, int kinder) int familiengroesse = partner + kinder + 1; return familiengroesse;

9 Seite 9 (Zusammenfassende Übungsaufgabe) Projekt: Artikel public class Artikel // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen public String artikelbezeichnung; public int bestand = 0; public double nettopreis; public double kgprostck; public int steuersatz; // Konstruktor für Objekte der Klasse Artikel public Artikel(String bezeich, int bestand, double preis, double kg, int steuer) // Instanzvariable initialisieren this.artikelbezeichnung = bezeich; this.bestand = bestand; this.nettopreis = preis; this.kgprostck = kg; this.steuersatz = steuer; // Methoden public void veraendernbestand(int liefermenge) this.bestand = this.bestand + liefermenge; this.ausgebeninformationen(liefermenge); public void ausgebeninformationen(int liefermenge) String restr; restr = "Die Lieferung des Artikels " + this.artikelbezeichnung + " hat eine Menge von " + liefermenge + " Stueck mit einem Stueckpreis von " + this.holenbruttopreis() + " Euro und einem Gesamtwert von " + this.berechnenpreisposition(liefermenge) + " Euro."; System.out.println(reStr); public double holenbruttopreis() double umsatzsteuer; double bruttopreis; umsatzsteuer = this.nettopreis * this.steuersatz / 100; bruttopreis = this.nettopreis + umsatzsteuer; return bruttopreis; public double berechnenpreisposition(int liefermenge) double netto; double bruttopreis; netto = liefermenge * this.nettopreis; bruttopreis = netto + netto * this.steuersatz / 100; return bruttopreis;

10 Seite 11 (Main-Methode) Projekt: Person10 enverwaltung public static void main(string args[]) Person person1 = new Person("Stefan Raab", 44, 1.8, 85.0, 0, 0); person1.sprechen(); double bmi1 = person1.errechnenbmi(); System.out.println("Der BMI beträgt " + bmi1); System.out.println(); person1.abnehmen(3); double bmi2 = person1.errechnenbmi(); System.out.println("Der BMI beträgt " + bmi2); // Keine Änderungen im Code im Vergleich zur vorherigen Version.

11 Seite 13 (Überladen von Methoden) Projekt: Person11 enverwaltung public static void main(string args[]) Person person1 = new Person("Stefan Raab", 44, 1.8); Person person2 = new Person("Angela Merkel", 56, 1.64); person1.sprechen(); person2.sprechen(); person1.sprechen("herr", "Er"); person2.sprechen("frau", "Sie"); // Instanzvariablen String name; int alter; double groesse; double gewicht; double bmi; int familiengroesse; // Konstruktor für Objekte der Klasse Person public Person(String meinname, int meinalter, double meinegroesse) this.name = meinname; this.alter = meinalter; this.groesse = meinegroesse; public Person(String meinname, int meinalter, double meinegroesse, double meingewicht, int partner, int kinder) // Methode public void sprechen() System.out.println("Ich heiße " + this.name + " und bin " + this.alter + " Jahre alt."); System.out.println("Meine Größe ist " + this.groesse + " Meter."); System.out.println(); public void sprechen(string anrede, String pronomen) System.out.println(anrede + " " + this.name + " ist " + this.alter + " Jahre alt."); System.out.println(pronomen + " ist " + this.groesse + " Meter groß."); System.out.println();

12 Seite 14 (Sichtbarkeit, Kapselung und Information Hiding) Projekt: Person12 enverwaltung public static void main(string args[]) Person person1 = new Person("Stefan Raab", 44, 1.8); System.out.println("Alter: " + person1.getalter()); person1.setalter(45); System.out.println("Alter: " + person1.getalter()); // Instanzvariablen private String name; private int alter; private double groesse; private double gewicht; private double bmi; private int familiengroesse; public void setname(string name) this.name = name; public String getname() return this.name; public void setalter(int alter) this.alter = alter; public int getalter() return this.alter; public void setgroesse(double groesse) this.groesse = groesse; public double getgroesse() return this.groesse; public void setgewicht(double gewicht) this.gewicht = gewicht; this.bmi = this.errechnenbmi(); public double getgewicht() return this.gewicht;

13 Zu Aufgabenteil 3: Get-Methoden für die Instanzvariablen bmi und familiengroesse sind bereits durch die Methoden ermittelnfamiliengroesse() und errechnenbmi()gegeben. Einen Setter für die Instanzvariablen bmi benötigt man nicht, da diese eine berechnete Größe ist und automatisch beim Setzen eines neuen Gewichtes geändert werden muss. Die Familiengroße ist ebenfalls eine berechnete Größe. Wenn man eine Set-Methode erstellen möchte, müsste diese als Übergabeparameter die beiden Integer-Werte partner und kinder erhalten. Sie ist somit keine "klassische" Set-Methode mehr und sollte eventuell deshalb auch anders benannt werden. Seite 15 (Ein- und zweiseitige Selektion) Projekt: Person13 enverwaltung public static void main(string args[]) Person person1 = new Person("Stefan Raab", 44, 1.8); Person person2 = new Person("Angela Merkel", 56, 1.64); person1.sprechen('m'); person2.sprechen('w'); // Instanzvariablen private String name; private int alter; private double groesse; private double gewicht; private double bmi; private int familiengroesse; public void sprechen(char geschlecht) if (geschlecht == 'w') System.out.println("Frau " + this.name + " ist " + this.alter + " Jahre alt."); System.out.println("Sie ist " + this.groesse + " Meter groß."); System.out.println(); else System.out.println("Herr " + this.name + " ist " + this.alter + " Jahre alt."); System.out.println("Er ist " + this.groesse + " Meter groß."); System.out.println();

14 Seite 16 (Mehrseitige Selektion) Projekt: Person14 enverwaltung public static void main(string args[]) Person person1 = new Person("Stefan Raab", 44, 1.8, 85.0, 1, 2); Person person2 = new Person("Angela Merkel", 56, 1.64, 67, 1, 0); person1.einordnengewicht(); person2.einordnengewicht(); // Instanzvariablen private String name; private int alter; private double groesse; private double gewicht; private double bmi; private int familiengroesse; public void einordnengewicht() if (this.bmi < 20) System.out.println(this.name + " hat Untergewicht."); else if (this.bmi <= 25) System.out.println(this.name + " hat Normalgewicht."); else System.out.println(this.name + " hat Übergewicht.");

15 Seite 16 (Mehrseitige Selektion mit Switch-Case-Anweisung) Projekt: Person15 enverwaltung public static void main(string args[]) Person person1 = new Person("Stefan Raab", 44, 1.8, 85.0, 1, 2); Person person2 = new Person("Angela Merkel", 56, 1.64, 67, 1, 0); person1.einordnenfamiliengroesse(1); person2.einordnenfamiliengroesse(1); // Instanzvariablen private String name; private int alter; private double groesse; private double gewicht; private double bmi; private int familiengroesse; public void einordnenfamiliengroesse(int partner) switch (this.familiengroesse) case 1: System.out.println("Singlehaushalt"); break; case 2: if (partner == 1) System.out.println("double income no kids"); else System.out.println("Alleinerziehend"); break; case 3: if (partner == 1) System.out.println("Kleinfamilie"); else System.out.println("Normalfamlie"); break; case 4: if (partner == 1) System.out.println("Normalfamilie"); else System.out.println("Großfamilie"); break; default: System.out.println("Großfamilie");

16 Seite 17 (Zusammenfassende Übungsaufgabe) Projekt: Box class BoxTester public static void main ( String[] args ) Box box = new Box( 2.5, 5.0, 6.0 ) ; Box box2 = new Box(box); Box box3 = box2.groesserebox(); Box box4 = box2.kleinerebox(); System.out.println("Flaeche: " + box.berechneflaeche() + " Volumen: " + box. berechnevolumen()); System.out.println("Flaeche: " + box2.berechneflaeche() + " Volumen: " + box2. berechnevolumen()); System.out.println("Flaeche: " + box3.berechneflaeche() + " Volumen: " + box3. berechnevolumen()); System.out.println("Flaeche: " + box4.berechneflaeche() + " Volumen: " + box4. berechnevolumen()); if (box2.passtin(box3)) System.out.println("Passt"); else System.out.println("Passt nicht"); if (box2.passtin(box4)) System.out.println("Passt"); else System.out.println("Passt nicht"); // Aufgabenteil 2: // System.out.println( "Flaeche oben: " + box.berechneflaecheoben() ); // Aufgabenteil 1: // System.out.println( "Laenge: " + box.getlaenge() + " Hoehe: " + // box.gethoehe() + " Breite: " + box.getbreite() );

17 public class Box //Instanzvariablen private double breite; private double hoehe; private double laenge; // Konstruktoren public Box(double b, double h, double l) // Instanzvariable initialisieren this.breite = b; this.hoehe = h; this.laenge = l; public Box(Box altebox) // Instanzvariable initialisieren this.breite = altebox.getbreite(); this.hoehe = altebox.gethoehe(); this.laenge = altebox.getlaenge(); // Methoden public double berechnevolumen() double v = this.breite * this.hoehe * this.laenge; return v; /* Methode berechneflaeche() auf Aufgabenteil 1 public double berechneflaeche() double f = 2 * this.breite * this.hoehe + 2 * this.breite * this.laenge + 2 * this.laenge * this.hoehe; return f; */ public double berechneflaeche() double f; f = 2 * berechneflaechevorn() + 2 * berechneflaecheoben() + 2 * berechneflaecheseitlich() ; return f; private double berechneflaechevorn() double f; f = this.breite * this.hoehe; return f; private double berechneflaecheoben() double f; f = this.breite * this.laenge; return f; private double berechneflaecheseitlich() double f; f = this.laenge * this.hoehe; return f;

18 public Box groesserebox() double b; b = this.breite * 1.25; double h; h = this.hoehe * 1.25; double l; l = this.laenge * 1.25; Box grossebox = new Box(b, h, l); return grossebox; // Kurzform der Methode // return new Box(this.breite * 1.25, this.hoehe * 1.25, this.laenge * 1.25); public Box kleinerebox() double b; b = this.breite * 0.75; double h; h = this.hoehe * 0.75; double l; l = this.laenge * 0.75; Box grossebox = new Box(b, h, l); return grossebox; // Kurzform der Methode // return new Box(this.breite * 0.75, this.hoehe * 0.75, this.laenge * 0.75); public boolean passtin(box aussen) if (aussen.hoehe > this.hoehe && aussen.breite > this.breite && aussen.laenge > this.laenge) return true; else return false; public double getbreite() return this.breite; public double gethoehe() return this.hoehe; public double getlaenge() return this.laenge;

19 Seite 19 (Unidirektionale Beziehungen mit der Kardinalität 1) Projekt: Person16 enverwaltung public static void main(string args[]) Adresse adresse1 = new Adresse("Große Straße 7", "48151", "Münster"); Person person1 = new Person("Peter Lustig", adresse1); String ausgabe = person1.ausgebeninformation(); System.out.println(ausgabe); // Instanzvariablen private String name; private int alter; private double groesse; private double gewicht; private double bmi; private int familiengroesse; private Adresse myadresse; // Konstruktor für Objekte der Klasse Person public Person(String name, Adresse myadresse) this.name = name; this.myadresse = myadresse; // Methoden public String ausgebeninformation() String info; info = "Name: " + this.name + ", " + myadresse.ausgebeninformation(); return info; public void setadresse(adresse myadresse) this.myadresse = myadresse; public Adresse getmyadresse() return this.myadresse;

20 public class Adresse // Instanzvariablen String strasse; String plz; String ort; // Konstruktor public Adresse(String strasse, String plz, String ort) this.strasse = strasse; this.plz = plz; this.ort = ort; // Methoden public String ausgebeninformation() String info; info = "Adresse: " + this.strasse + ", " + this.plz + " " + this.ort; return info; public void setstrasse(string strasse) this.strasse = strasse; public String getstrasse() return this.strasse; public void setplz(string plz) this.plz = plz; public String getplz() return this.plz; public void setort(string ort) this.ort = ort; public String getort() return this.ort;

21 Seite 20 (Unidirektionale Beziehungen mit der Kardinalität *) Projekt: Person17 enverwaltung public static void main(string args[]) Adresse adresse1 = new Adresse("Große Straße 7", "48151", "Münster"); Person person1 = new Person("Peter Lustig", adresse1); Hobby hobby1 = new Hobby("Fußball", 3); Hobby hobby2 = new Hobby("Kochen", 4.5); Hobby hobby3 = new Hobby("Tanzen", 1.75); Hobby hobby4 = new Hobby("Foto", 1.25); person1.hinzufuegenhobby(hobby1); person1.hinzufuegenhobby(hobby2); person1.hinzufuegenhobby(hobby3); person1.hinzufuegenhobby(hobby4); person1.ausgebenhobbys(); public class Hobby // Instanzvariablen private String bezeichnung; private double zeitprowoche; // Konstruktor für Objekte der Klasse Hobby public Hobby(String bezeichnung, double zeitprowoche) this.bezeichnung = bezeichnung; this.zeitprowoche = zeitprowoche; // Methode public void setbezeichnung(string bezeichnung) this.bezeichnung = bezeichnung; public String getbezeichnung() return this.bezeichnung; public void setzeitprowoche(double zeitprowoche) this.zeitprowoche = zeitprowoche; public double getzeitprowoche() return this.zeitprowoche;

22 import java.util.arraylist; // Instanzvariablen private String name; private ArrayList<Hobby> myhobbys = new ArrayList<Hobby>(); public void hinzufuegenhobby(hobby neueshobby) myhobbys.add(neueshobby); public void ausgebenhobbys() String info; System.out.println("Die Hobbys von " + this.name + " sind:"); for (Hobby h : myhobbys) System.out.println(h.getBezeichnung() + "\tzeitbedarf: " + h.getzeitprowoche() + " Stunden pro Woche"); public ArrayList<Hobby> getmyhobbys() return this.myhobbys;

23 Seite 23 (Unidirektionale Beziehungen mit der Kardinalität *) Projekt: Person18 enverwaltung public static void main(string args[]) Adresse adresse1 = new Adresse("Große Straße 7", "48151", "Münster"); Person person1 = new Person("Peter Lustig", adresse1); Hobby hobby1 = new Hobby("Fußball", 3); Hobby hobby2 = new Hobby("Kochen", 4.5); Hobby hobby3 = new Hobby("Tanzen", 1.75); Hobby hobby4 = new Hobby("Foto", 1.25); person1.hinzufuegenhobby(hobby1); person1.hinzufuegenhobby(hobby2); person1.hinzufuegenhobby(hobby3); person1.hinzufuegenhobby(hobby4); person1.ausgebenhobbys(); System.out.println(person1.berechnenGesamtzeitHobbys()); public String berechnengesamtzeithobbys() String info; double summe = 0; for (Hobby h : myhobbys) summe = summe + h.getzeitprowoche(); int zwischen = (int) (summe * 100); int minuten = zwischen % 100; int stunden = (zwischen - minuten) / 100; minuten = minuten * 60 / 100; info = "Der Gesamtzeitbedarf beträgt " + stunden + " Stunden und " + minuten + " Minuten."; return info;

24 Seite 25 (Vererbung) Projekt: Haustier public class Haustierverwaltung public static void main(string args[]) Katze k1 = new Katze("Minka", 1.0, "Freigänger"); Hund h1 = new Hund("Rambo", 2.5, "Pudel"); System.out.println(k1.ausgebenDetailInformation()); System.out.println(h1.ausgebenDetailInformation()); public class Haustier private String name; private double gewicht; public Haustier(String name, double gewicht) this.name = name; this.gewicht = gewicht; public String ausgebeninformation() String info; info = this.name + " wiegt " + this.gewicht + " Kilogramm.\n"; return info; public void setname(string name) this.name = name; public String getname() return this.name; public void setgewicht(double gewicht) this.gewicht = gewicht; public double getgewicht() return this.gewicht;

25 public class Hund extends Haustier private String rasse; public Hund(String name, double gewicht, String rasse) super(name, gewicht); this.rasse = rasse; public String ausgebendetailinformation() String info; info = ausgebeninformation() + this.getname() + " ist ein Hund der Rasse " + this.rasse + "."; return info; public void setrasse(string rasse) this.rasse = rasse; public String getrasse() return this.rasse; public class Katze extends Haustier private String haltung; public Katze(String name, double gewicht, String haltung) super(name, gewicht); this.haltung = haltung; public String ausgebendetailinformation() String info; info = ausgebeninformation() + this.getname() + " ist eine Katze in der Haltungsform " + this.haltung + "."; return info; public void sethaltung(string haltung) this.haltung = haltung; public String gethaltung() return this.haltung;

26 Seite 25 (Zusammenfassende Übungsaufgabe) Projekt: Bank public class Bankverwaltung public static void main (String[] args) Kunde kunde1 = new Kunde("Paul Mueller", "Muenster"); Girokonto giro1 = new Girokonto(kunde1, , 3000); Kunde kunde2 = new Kunde("Lieschen Fleisig", "Osnabrueck"); Sparkonto spar1 = new Sparkonto(kunde2, , 'p'); Girokonto giro2 = new Girokonto(kunde2, , 2000); KontoBewegung kb1 = new KontoBewegung(spar1, 2850); KontoBewegung kb2 = new KontoBewegung(spar1, -850); KontoBewegung kb3 = new KontoBewegung(spar1, 500); KontoBewegung kb4 = new KontoBewegung(giro2, ); KontoBewegung kb5 = new KontoBewegung(giro2, -50); KontoBewegung kb6 = new KontoBewegung(giro1, 550); KontoBewegung kb7 = new KontoBewegung(giro1, 450); KontoBewegung kb8 = new KontoBewegung(giro1, -8500); KontoBewegung kb9 = new KontoBewegung(giro1, 5500); KontoBewegung kb10 = new KontoBewegung(giro1, -8500); System.out.println(spar1.druckenKontoauszug()); System.out.println(giro1.druckenKontoauszug()); System.out.println(giro2.druckenKontoauszug()); public class Kunde private String name; private String adresse; public Kunde(String n, String a) this.name = n; this.adresse = a; public String getname() return name; import java.util.*; public class Konto private Kunde kontoinhaber; private String blz = " "; private String bankname = "Sparkasse Muenster"; private int kontonummer; private double kontostand = 0; private ArrayList<KontoBewegung> meinekontobewegungen = new ArrayList<KontoBewegung>(); public Konto(Kunde ku, int knr) this.kontoinhaber = ku;

27 this.kontonummer = knr; public void einzahlen(kontobewegung kb) this.kontostand = kontostand + kb.getbetrag(); public void hinzufuegenkontobewegung(kontobewegung kb) meinekontobewegungen.add(kb); public String getdaten() String restr = " Kto-Nr.: " + this.kontonummer + ", \n" + " " + "BLZ: " + this.blz + ", " + this.bankname + ",\n" + " Kontostand: " + this.kontostand + "\n"; return restr; public String druckenkontoauszug() String restr = ""; restr = "\nkontoauszug\n" + getdaten() + " Kontoinhaber: " + kontoinhaber.getname() + "\n\n"; int i = 1; for(kontobewegung kb : meinekontobewegungen) restr = restr + i + " " + kb. ausgebentext(); i = i + 1; return restr; public double getkontostand() return this.kontostand; public void setkontostand(double kontostand) this.kontostand = kontostand; public int getkontonummer() return this.kontonummer; public ArrayList<KontoBewegung> getmeinekontobewegungen() return this.meinekontobewegungen;

28 import java.util.*; public class Girokonto extends Konto private double dispokredit; public Girokonto(Kunde ki, int knr, double dk) super(ki, knr); this.dispokredit = dk; public void abheben(kontobewegung kb) if ((this.getkontostand() + dispokredit) > (kb.getbetrag() * -1)) this.setkontostand(this.getkontostand() + kb.getbetrag()); else System.out.println("Kreditlimit von Konto " + getkontonummer() + " ueberzogen. Buchung ueber " + kb.getbetrag() + " Euro \nwurde nicht ausgefuehrt. "); ArrayList<KontoBewegung> meinekb = getmeinekontobewegungen(); meinekb.remove(meinekb.size()-1); import java.util.*; public class Sparkonto extends Konto private char art; public Sparkonto(Kunde ki, int knr, char art) super(ki, knr); this.art = art; public void abheben(kontobewegung kb) if (this.getkontostand() > (kb.getbetrag() * -1)) this.setkontostand(this.getkontostand() + kb.getbetrag()); else System.out.println("Nicht genuegend Guthaben auf Konto " + this.getkontonummer() + ". " + "Buchung ueber " + kb.getbetrag() + " Euro \nwurde nicht ausgefuehrt. "); ArrayList<KontoBewegung> meinekb = getmeinekontobewegungen(); meinekb.remove(meinekb.size()-1);

29 public class KontoBewegung private Konto konto; private double betrag; private String buchungstext; public KontoBewegung(Sparkonto sko, double be) this.konto = sko; this.betrag = be; if (be > 0) this.buchungstext = "Einzahlung"; sko.hinzufuegenkontobewegung(this); sko.einzahlen(this); else this.buchungstext = "Auszahlung"; sko.hinzufuegenkontobewegung(this); sko.abheben(this); public KontoBewegung(Girokonto gko, double be) this.konto = gko; this.betrag = be; if (be > 0) this.buchungstext = "Einzahlung"; gko.hinzufuegenkontobewegung(this); gko.einzahlen(this); else this.buchungstext = "Auszahlung"; gko.hinzufuegenkontobewegung(this); gko.abheben(this); public String ausgebentext() return (" " + betrag + " \t" + buchungstext + "\n"); public double getbetrag() return this.betrag;

Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel

Praktikum 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

Mehr

Vorlesung im Herbstwintersemester 2007. Autorisierte studentisch Lösungen zu Aufgabenblatt 2

Vorlesung im Herbstwintersemester 2007. Autorisierte studentisch Lösungen zu Aufgabenblatt 2 Praktische Informatik I Vorlesung im Herbstwintersemester 2007 Autorisierte studentisch Lösungen zu Aufgabenblatt 2 zusammengestellt von Iva Tsvetkova 9.10.2007 1.Präsenzaufgaben 1.1 Entwurf einer Verwaltung

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen

Mehr

Javakurs für Anfänger

Javakurs 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

Mehr

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

1.2 Attribute und Methoden Aufbau einer Java-Klasse: Aufbau einer Java-Klasse: public class Quadrat { int groesse; int xposition; String farbe; boolean istsichtbar; public void sichtbarmachen() { istsichtbar = true; public void horizontalbewegen(int distance){

Mehr

Java Einführung Methoden in Klassen

Java 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

Mehr

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollsttukturen - 1 - 3. Anweisungen und Kontrollstrukturen

Mehr

Versuchsziele Kenntnisse in der Anwendung von: Sortieren mit Klassen Benutzung von generischen Klassen o Definition o Sortierung.

Versuchsziele Kenntnisse in der Anwendung von: Sortieren mit Klassen Benutzung von generischen Klassen o Definition o Sortierung. Hochschule Harz Programmierung1 Tutorial 11: FB Automatisierung und Informatik Dipl.-Inf. Dipl.-Ing. (FH) M. Wilhelm Programmierung 1 für MI / WI Thema: Sortieren und generische Klassen Versuchsziele Kenntnisse

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 03: Wiederholung und Nutzereingaben Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Wiederholung Klassen, Objekte, Attribute und Methoden

Mehr

Musterlösungen zur Klausur Informatik 3

Musterlösungen zur Klausur Informatik 3 Musterlösungen zur Klausur Informatik 3 Justus-Liebig-Universität Gießen Wintersemester 2003/2004 Aufgabe 1 (6 Punkte) Man kreuze bei den folgenden Deklarationen und Definitionen jeweils an, ob sie aus

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 8. Arrays. Arrays

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 8. Arrays. Arrays 1 Kapitel 8 Ziele 2 Die Datenstruktur der kennenlernen Grundlegende Algorithmen auf in Java implementieren können Mit von Objekten arbeiten können 3 Erweiterungen zur Behandlung von : Überblick Bisher

Mehr

Grundzüge der Programmierung. Wiederverwendung VERERBUNG

Grundzüge der Programmierung. Wiederverwendung VERERBUNG Grundzüge der Programmierung Wiederverwendung VERERBUNG Inhalt dieser Einheit Syntax: Vererbung in Java Superklassen - Subklassen Konstruktorenaufruf in Subklassen super, abstract und final 2 Code-Reuse

Mehr

VIII: 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 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:

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Java-Schulung Grundlagen

Java-Schulung Grundlagen Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings

Mehr

Vererbung. Vererbung von Methoden und Instanzvariablen. Vererbung als Realisierung einer is-a Beziehung.

Vererbung. 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,

Mehr

JAVA - Methoden

JAVA - 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

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Kapitel 6. Vererbung

Kapitel 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

5.5.8 Öffentliche und private Eigenschaften

5.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

Mehr

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen 1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 - 2. Methoden

Mehr

Kapitel 6. Vererbung

Kapitel 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

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

Wiederholung 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

Mehr

3. Anweisungen und Kontrollstrukturen

3. Anweisungen und Kontrollstrukturen 3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen

Mehr

5.4 Klassen und Objekte

5.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

Mehr

Kapitel 6. Vererbung

Kapitel 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

Mehr

Software Entwicklung 2. UML umgesetzt

Software Entwicklung 2. UML umgesetzt Software Entwicklung 2 UML umgesetzt Klasse (vereinfacht) attribut : int Klasse operation() : void public class Klasse { int attribut; void operation() { 2 Sichtbarkeit der ttribute public class Klasse

Mehr

JAVA für Nichtinformatiker - Probeklausur -

JAVA 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

Mehr

5. Tutorium zu Programmieren

5. 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

Mehr

3 Objektorientierte Konzepte in Java

3 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

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: 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

Mehr

Eingabe und Ausgabe in Java. Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien

Eingabe und Ausgabe in Java. Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien Eingabe und Ausgabe in Java Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien Eingabe Beispiel1 public class Input1 { public static void main(string[] args) { for (int i = 0; i < args.length;

Mehr

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

Silke 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

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie 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

Mehr

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Programmieren 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

1. Typen und Literale (6 Punkte) 2. Zuweisungen (6 = Punkte)

1. 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

Mehr

Welche Informatik-Kenntnisse bringen Sie mit?

Welche Informatik-Kenntnisse bringen Sie mit? Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 09: 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

Mehr

Einfü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 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

Arrays Fortgeschrittene Verwendung

Arrays Fortgeschrittene Verwendung Arrays Fortgeschrittene Verwendung Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Arrays: Wiederholung

Mehr

II.4.1 Unterklassen und Vererbung - 1 -

II.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

Mehr

Vergleich verschiedener OO-Programmiersprachen

Vergleich verschiedener OO-Programmiersprachen Vergleich verschiedener OO-Programmiersprachen - Schnellumstieg in 15 Minuten - C++ Java Visual C++ C# Programmbeispiel in Visual C++, C#, Java und C++ Dr. Ehlert, Juni 2012 1 Inhaltsverzeichnis 1. Problemstellung

Mehr

Objektorientierte Programmierung OOP Programmieren mit Java

Objektorientierte Programmierung OOP Programmieren mit Java 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren 1. Klasse Tier 2. Objekte Hund und Fisch Objektorientierte Programmierung OOP Programmieren mit Java 3. Programm Tierheim 4. Klasse Tier 5. Objekte

Mehr

Java: Geheimnisprinzip, Kapselung; Getter und Setter.

Java: Geheimnisprinzip, Kapselung; Getter und Setter. Java: Geheimnisprinzip, Kapselung; Getter und Setter Geheimnisprinzip Nur einige Methoden und Attribute einer Klasse sind öffentlich zugänglich, die anderen bleiben geheim. = weniger (unbefugte, ungewollte

Mehr

2. Methoden. n Generelles zum Aufruf von Methoden. n Parameterübergabemechanismen (call by value, call by reference)

2. Methoden. n Generelles zum Aufruf von Methoden. n Parameterübergabemechanismen (call by value, call by reference) 2. Methoden n Generelles zum Aufruf von Methoden n Parameterübergabemechanismen (call by value, call by reference) n Speicherorganisation bei Methodenaufruf und Parameterübergabe (Laufzeitkeller) n vararg

Mehr

AuD-Tafelübung T-B5b

AuD-Tafelübung T-B5b 6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit

Mehr

Übung Programmierung WS 2007/08 - Blatt 5

Übung Programmierung WS 2007/08 - Blatt 5 RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK 2 RWTH Aachen D-52056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.

Mehr

Datenbankanwendungsprogrammierung Crashkurs Java

Datenbankanwendungsprogrammierung Crashkurs Java Datenbankanwendungsprogrammierung Crashkurs Java Denny Priebe Datenbankanwendungsprogrammierung p. Unterschiede zu C, C++ typedefs, Präprozessor Strukturen, Unions globale Funktionen Mehrfachvererbung

Mehr

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */)

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */) Good code is its own best documentation. (Steve McConnell) Java Cheatsheet Java Grundlagen Aufbau einer Klasse Name der Klasse public class MeineKlasse { Textdatei MeineKlasse.java (muss dem Namen der

Mehr

Beispiel: DB-Mock (1/7)

Beispiel: DB-Mock (1/7) Beispiel: DB-Mock (1/7) Aufgabe: DB, auf die vereinfachend nur lesend zugeriffen wird mocken warum: benötigte keine DB-Lizenz, garantiert gleiche Werte ohne aufwändiges reset, kein Zeitverlust durch Verbindungsaufbau

Mehr

einkonto.zahle(+100); //Transaktion Einzahlung einkonto.zahle(-20); //Transaktion Auszahlung einkonto.zahle(+30); //Transaktion Einzahlung

einkonto.zahle(+100); //Transaktion Einzahlung einkonto.zahle(-20); //Transaktion Auszahlung einkonto.zahle(+30); //Transaktion Einzahlung PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 28 Testklasse public class TestGirokonto { public static void main(string[] args) { // erzeuge neues Konto Girokonto einkonto = new Girokonto();

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1 Kapitel 11 Fehler und Ausnahmen Fehler und Ausnahmen 1 Ziele Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java-Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen auslösen

Mehr

Algorithmen und Datenstrukturen

Algorithmen 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

Mehr

Kapitel 14. Systemarchitektur

Kapitel 14. Systemarchitektur 1 Kapitel 14 Ziele 2 Grundprinzipien der verstehen Schichtenarchitekturen kennenlernen Modelle und Programme mit Paketen strukturieren Eine Architektur für eine einfache Bankanwendung konstruieren Grundprinzipien

Mehr

Einführung in die Programmierung

Einfü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

Mehr

Objektorientierte Programmierung mit Java

Objektorientierte Programmierung mit Java Inhalt: Generalisierung, Spezialisierung Module, Klassen, Objekte Klassenhierarchien, Vererbung, abstrakte Klassen, Schnittstellen Entwicklung eines Fußballmanagers (EM 2008) Block M.: "Java-Intensivkurs

Mehr

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Arrays: Wiederholung Ein Array ist ein Tupel von Elementen gleichen

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 14: Generics Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Generische Klassen (Generics) Motivation Java Typ-Prüfung Warum also Generics? Generische

Mehr

Einfü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 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

Mehr

KV Software Engineering Übungsaufgaben SS 2005

KV Software Engineering Übungsaufgaben SS 2005 KV Software Engineering Übungsaufgaben SS 2005 Martin Glinz, Silvio Meier, Nancy Merlo-Schett, Katja Gräfenhain Übung 1 Aufgabe 1 (10 Punkte) Lesen Sie das Originalpapier von Dijkstra Go To Statement Considered

Mehr

Objekt-Orientierte Programmierung

Objekt-Orientierte Programmierung Objekt-Orientierte Programmierung Ein OO-Programm modelliert eine Anwendung als eine Welt von Objekten, die miteinander in Beziehung stehen ( später). Ein Objekt kann andere Objekte erzeugen. Ein Objekt

Mehr

5.6 Vererbung. Vererbung

5.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

Mehr

II.3.1 Rekursive Algorithmen - 1 -

II.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 -

Mehr

Programmiervorkurs SS 2011

Programmiervorkurs SS 2011 Programmiervorkurs SS 2011 Objekte und Vererbung Programmiervorkurs SS 2011 Wir erinnern uns an Montag public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!");

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Interfaces

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Interfaces 10 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Interfaces Aber: Mehrfachvererbung von Klassen ist in Java nicht erlaubt. Ausweg Definition eines Interfaces, z.b.:

Mehr

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, 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:

Mehr

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

Mehr

Java I Vorlesung Objektorientiertes Programmieren

Java I Vorlesung Objektorientiertes Programmieren Java I Vorlesung 3 Objektorientiertes Programmieren 10.5.2004 Die restlichen Kontrollstrukturen Grundlagen des OOP Klassen und Objekte switch Syntax: switch ( expr ) { case const 1 : case const 2 :...

Mehr

Sichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben

Sichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben Sichtbarkeit & statische Methoden Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben Nicht sichtbare Methoden Wollen Eltern bestimmte Methoden vor den

Mehr

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests. Universität Osnabrück 1 Problemstellung 3 - Objektorientierte Programmierung in Java Vorlesung 24: Reflection 1 SS 2006 Prof. Dr. Frank M. Thiesing, FH Osnabrück Um ein Objekt anzulegen, eine seiner Methoden

Mehr

Vererbung. Martin Wirsing. Ziele. Vererbung

Vererbung. 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

JUnit. Unit testing unter Java

JUnit. Unit testing unter Java JUnit Unit testing unter Java Was ist Junit? einfaches Framework zum Schreiben von wiederholbaren Tests Besonders geeignet für unit testing Erlaubt Hierarchie von Testsuites Schreiben eines Test Case 1.

Mehr

Java - Programmierung - Objektorientierte Programmierung 1

Java - 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

Mehr

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 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

Mehr

JAVA - Methoden - Rekursion

JAVA - 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

Mehr

Methoden (fortgeschritten) in C# - 1

Methoden (fortgeschritten) in C# - 1 Methoden (fortgeschritten) in C# - 1 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Opertatoren Überladung 2. delegate 3. Anonyme Methoden delegate Lamda Ausdruck-Lamdas Anweisung-Lamdas Variablenbereich

Mehr

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die

Mehr

public class SternchenRechteckGefuellt {

public class SternchenRechteckGefuellt { Java programmieren: Musterlösungen Konsolen-Aufgaben Aufgabe 1: Gefüllte Rechtecke zeichnen Schreiben Sie ein Programm, das ein durch Sternchen gefülltes Rechteck zeichnet. Der Benutzer soll Breite und

Mehr

Java Schulung (Java 2 Java Development Kit 5 / 6)

Java Schulung (Java 2 Java Development Kit 5 / 6) 2. Grundlagen der Objektorientierung 2.1 Klassen, Attribute, Methoden Klassen Eine Klasse beschreibt als Bauplan Gemeinsamkeiten einer Menge von Objekten ist also ein Modell, auf dessen Basis Objekte erstellt

Mehr

Teilprüfung Software- und Internettechnologie Programmierkurs 1 Wintersemester 2005/2006

Teilprüfung Software- und Internettechnologie Programmierkurs 1 Wintersemester 2005/2006 Universität Mannheim Fakultät für Mathematik und Informatik Dr. Heinz Kredel Teilprüfung Software- und Internettechnologie Programmierkurs 1 Wintersemester 2005/2006 Name:.................................

Mehr

Java Einführung Methoden. Kapitel 6

Java Einführung Methoden. Kapitel 6 Java Einführung Methoden Kapitel 6 Inhalt Deklaration und Aufruf von Methoden Lokale und globale Namen (Bezeichner) Sichtbarkeit und Lebensdauer von Variablen in Methoden Überladen von Methoden 2 Methoden

Mehr

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen 1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.3 Datenabstraktion - 1 - public class Rechteck { Selektoren

Mehr

Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Einleitende Bemerkungen

Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Einleitende Bemerkungen Einleitende Bemerkungen Einleitende Bemerkungen Ideen hinter der objektorientierten Programmierung Objekte (/* Instanzen einer Klasse */) im Mittelpunkt Objekte bilden Einheit aus Daten (/* Attributen,

Mehr

Grundlagen der Objektorientierung

Grundlagen 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

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: 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,

Mehr

Einführung in die Programmierung 1

Einführung in die Programmierung 1 Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener

Mehr

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer

Mehr

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg Klassen und Objekte Einführung in Java Folie 1 von 28 12. Mai 2011 Ivo Kronenberg Inhalt Objekte Klassendefinitionen Datenelemente (Klassenattribute) Instanzieren von Objekten Konstruktoren Vergleich primitive

Mehr

Java für Computerlinguisten

Java für Computerlinguisten Java für Computerlinguisten 2. Objektorientierte Programmierung Christian Scheible Institut für Maschinelle Sprachverarbeitung 28. Juli 2009 Christian Scheible Java für Computerlinguisten 28. Juli 2009

Mehr

Fundamentale Ideen der Informatik PH Weingarten Sommersemester 2014 Paul Libbrecht CC-BY. Vorlesung 3: Methoden, Scope

Fundamentale Ideen der Informatik PH Weingarten Sommersemester 2014 Paul Libbrecht CC-BY. Vorlesung 3: Methoden, Scope Fundamentale Ideen der Informatik PH Weingarten Sommersemester 2014 Paul Libbrecht CC-BY Vorlesung 3: Methoden, Scope Menü Erinnerung: Variablen, Objekte Methode Idee Klasse Kode-Sichtbarkeit Idee: Test,

Mehr

Programmiertechnik Klassenmethoden

Programmiertechnik Klassenmethoden Programmiertechnik Klassenmethoden Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Motivation Programm zur Berechung von public class Eval1 { public static void main(string[] args) { java.util.scanner

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs 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

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Klassenmethoden

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Klassenmethoden Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Klassenmethoden Motivation Programm zur Berechnung von public class Eval1 { public static void main(string[] args) { java.util.scanner

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der Java-Welt apl. Prof. Dr. Achim Ebert Inhalt Kapitel 3: Kontrollstrukturen Einfache Anweisungen Anweisungsblöcke Steuerung

Mehr