Lösungen zum Script. Seite 1 (Klasse, Objekt, Eigenschaften und Verhalten)
|
|
- Kai Ralph Heinrich
- vor 6 Jahren
- Abrufe
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 FB Physikalische Technik Musterlösungen Teil 4 Aufgabe 1 package teil4; import javax.swing.*; public class Ei { int haltung, ident; String
MehrVorlesung 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
MehrJavakurs 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
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 10: Mehr zur Vererbung und abstrakte Klassen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Mehr zur Vererbung Methoden vererben und überschreiben
Mehr1.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){
MehrJava Einführung Methoden in Klassen
Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding
Mehr1. 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
MehrVersuchsziele 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
MehrRepetitorium 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
MehrJavakurs 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
MehrMusterlö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
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
MehrEinfü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
MehrGrundzü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
MehrVIII: Vererbung. Unterklassen einer Klasse. Vererbung von Methoden und Instanzvariablen. Überschreiben von Methoden
VIII: Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik I VIII: Vererbung 259 Beispiel:
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
MehrJava-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
MehrVererbung. Vererbung von Methoden und Instanzvariablen. Vererbung als Realisierung einer is-a Beziehung.
Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik II: Objektorientierte SW-Entwicklung,
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
MehrÜ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
MehrEine 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,
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
Mehr5.5.8 Öffentliche und private Eigenschaften
5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung
Mehr1. 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
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
MehrWiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung
Wiederholung Wozu? Schreiben Benutzen Rekursion?! Javakurs 2012, 3. Vorlesung maggyrz@freitagsrunde.org 5. März 2013 Wiederholung Wozu? Schreiben Benutzen Rekursion?! 1 Wiederholung 2 Wozu? 3 Schreiben
Mehr3. 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
Mehr5.4 Klassen und Objekte
5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen
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
MehrSoftware 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
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
Mehr5. Tutorium zu Programmieren
5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrPrimitive 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.
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrEingabe 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;
MehrSilke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode
Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode
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
MehrProgrammieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
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
MehrWelche 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
MehrJavakurs 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
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrArrays 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
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
MehrVergleich 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
MehrObjektorientierte 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
MehrJava: 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
Mehr2. 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
MehrAuD-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
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.
MehrDatenbankanwendungsprogrammierung Crashkurs Java
Datenbankanwendungsprogrammierung Crashkurs Java Denny Priebe Datenbankanwendungsprogrammierung p. Unterschiede zu C, C++ typedefs, Präprozessor Strukturen, Unions globale Funktionen Mehrfachvererbung
MehrJava 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
MehrBeispiel: 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
Mehreinkonto.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();
MehrEinfü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
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
MehrKapitel 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
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrObjektorientierte Programmierung mit Java
Inhalt: Generalisierung, Spezialisierung Module, Klassen, Objekte Klassenhierarchien, Vererbung, abstrakte Klassen, Schnittstellen Entwicklung eines Fußballmanagers (EM 2008) Block M.: "Java-Intensivkurs
MehrArrays 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
MehrJavakurs 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
MehrEinführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
MehrKV 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
MehrObjekt-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
Mehr5.6 Vererbung. Vererbung
5.6 Vererbung Klassen können zueinander in einer "ist ein"- Beziehung stehen Beispiel: Jeder PKW ist ein Kraftfahrzeug, jedes Kraftfahrzeug ist ein Transportmittel aber: auch jeder LKW ist ein Kraftfahrzeug
MehrII.3.1 Rekursive Algorithmen - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.3.1 Rekursive Algorithmen -
MehrProgrammiervorkurs 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!");
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Interfaces
10 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Interfaces Aber: Mehrfachvererbung von Klassen ist in Java nicht erlaubt. Ausweg Definition eines Interfaces, z.b.:
MehrKapitel 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
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:
MehrDie 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
MehrJava 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 :...
MehrSichtbarkeit & 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
MehrProblemstellung. 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
MehrVererbung. Martin Wirsing. Ziele. Vererbung
2 Ziele Martin Wirsing en Begriff der einfachen verstehen und Redefinition von Oberklassenmethoden verstehen spolymorphie verstehen ie Klasse Object kennenlernen in Zusammenarbeit mit Michael Barth, Philipp
MehrJUnit. 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.
MehrJava - Programmierung - Objektorientierte Programmierung 1
Java - Programmierung - Objektorientierte Programmierung 1 // Klassen und Objekte public class KlaObj public static void main(string args []) Klasse1 a; a = new Klasse1("heute", 47); Klasse1 b = new Klasse1
MehrKapitel 8. Programmierkurs. Methoden. 8.1 Methoden
Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08
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
MehrMethoden (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
MehrObjektorientierte 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
Mehrpublic 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
MehrJava 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
MehrTeilprü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:.................................
MehrJava 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
Mehr1. 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
MehrProgrammieren 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,
MehrGrundlagen der Objektorientierung
Grundlagen der Objektorientierung Klassen, Attribute, Methoden Kapselung und Konstruktoren Vererbung Packages Interfaces und Adapterklassen 04.06.2008 Marcel Wieczorek 14 Klassen, Attribute, Methoden package
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrEinführung in die Programmierung 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
MehrMethoden. 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
MehrKlassen 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
MehrJava 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
MehrFundamentale 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,
MehrProgrammiertechnik 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
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
MehrProf. 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
MehrObjektorientierte 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