Java-Kurs - 6. Übung • Besprechung der Hausaufgabe • Methoden: Parameter, Rückgabewerte und Variablen • Konstruktoren • Beispiel für vordefinierte Klasse: String Hausaufgabe 4 public class Rechteck{ // Attribute double Breite; double Länge; // Konstruktor Rechteck(double BreiteStartwert, double LängeStartwert) { Breite= BreiteStartwert; Länge= LängeStartwert; } // Methoden double Flächeninhalt() { double Flächeninhalt; Flächeninhalt=Breite*Länge; return Flächeninhalt; } } Methoden - Parameter • Deklaration (in Punkt.java) class Punkt{ private double x,y; Formaler Parameter void Verschiebe(double d_x, double d_y); { x = x + d_x; y = y + d_y; } } • Aufruf Punkt p = new Punkt(); ..... p.Verschiebe(3.5 , 7.8); Aktueller Parameter Methoden - Rückgabewert Rückgabetyp • Deklaration (in Punkt.java) class Punkt { private double x,y; double Abstand(Punkt p) { double abstand = Math.sqrt((p.x-x)*(p.x-x) + ...); return abstand; } Rückgabe} wert • Aufruf Punkt p1 = new Punkt(); Punkt p2 = new Punkt(); ..... double abstand = p1.Abstand(p2); Methoden - Variablen Lokale Variable • Deklaration (in Punkt.java) class Punkt { Formale private double x,y; Parameter double Abstand(Punkt p) { double abstand = Math.sqrt((p.x-x)*(p.x-x) + ...); return abstand; } } • Aufruf Attribut der Punkt p1 = new Punkt(); Klasse Punkt p2 = new Punkt(); ..... double abstand = p1.Abstand(p2); Methoden - Konstruktoren • Deklaration (in Punkt.java) class Punkt { private double x,y; Punkt(){ x = 0; y = 0;} Punkt(double StartX, double StartY) { x = StartX; y = StartY;} Punkt(Punkt p){ x = p.x; y = p.y;} } • Aufruf Punkt p1 = new Punkt(); Punkt p2 = new Punkt(5.3 , 7.9); Punkt p3 = new Punkt(p1); Die Klasse String • Beispiel für eine vordefinierte Klasse • Zweck: Speicherung und Manipulation von Zeichenketten (Wörtern und Sätzen) • Beispiele: String s1 = "Das ist das Haus"; String s2 = "vom Nikolaus."; String s3 = s1 + " " + s2; String s4 = s3.substring(12,16); String s5 = s3.toLowerCase(); if (s1.startsWith("Dies")) ... Übungsaufgabe 5 • Entwerfen Sie analog zur Definition von Rechtecken die Klassendefinitionen für Dreiecke, Kreise, Ellipsen und Trapeze. Die Position im Raum sollte repräsentiert sein. Als Methoden sollten mindestens die Flächenberechnung, die Verschiebung und die textuelle Ausgabe der Variableninhalte zur Verfügung gestellt werden.