Fachhochschule Biel: Übungen am Mittwoch den 14.04.2010 Haute école bienne: exercices le mercredi le 14.04.2010 Übungsziele: anwenden und analysieren einfacher Klassen aus der Java-Standardbibliothek. Erstellen eigener Klassen mit Membern solch einer Standardbibliothek -> Aggregation. But des exercices: appliquer et analyser des classe simples de la librairie standard java. Création des classes avec des membres d'une telle classe standard java → aggregation. • Internetbrowser: Gehen sie auf dem Internet auf die Java-Api-Doc http://java.sun.com/javase/6/docs/api/ und suchen dort die Klasse Point. Studieren sie diese ein wenig. Welche Member und Methoden hat sie, was machen die Methoden, was ist private was public, was muss importiert werden um sie zu benutzen, etc. Eclipse: Erstellen sie eine Klasse TestApp mit einer public static void main(String args[]) Methode und legen sie darin einige Objekte von Point an. (import java.awt.Point am Anfang der Datei nicht vergessen). Experimentieren sie ein wenig mit diesen Objekten herum, z.B. Punkt anzeigen lassen dann verschieben oder Position ändern, dann noch mal anzeigen lassen etc. Rufen sie dazu die Methoden von Point auf! Internetbrowser: Allez sur la site http://java.sun.com/javase/6/docs/api/ et cherchez la classe Point. Etudiez un peut cette classe. Quelle sont les membres et les methodes de cette classes? Qu'est qu'il est private et public? Qu'est qu'il font les methodes? Que faut-il importer pour créer un objet, etc.? Eclipse: Créez une classe TestApp avec la méthode public static void main(String args[])et créez quelques objets de la classe Point. (N'oubliez pas d'importer java.awt.Point au début du fichier) Expérimentez avec ces objets par exemple fait afficher un point deplacer le ou changer sa position en suite affichez le de nouveau etc. Tous cela en appelant les méthodes de Point! • Erstellen sie jetzt eine Klasse Line, gemäss folgendem UML-Diagramm: Créez maintenant une classe Line selon le diagramme UML suivant: Line - Point p1,p2 + Line(Point p1, Point p2) + Point getP1() + Point getP2() + translate(int dx, int dy) + String toString() • Die toString() Methode soll einen String zurückgebnen, der die Linie folgendermassen darstellt: [(x,y)(x,y)], wobei x,y in der ersten Klammer p1 darstellt und x,y in der zweiten Klammer p2. Die translate Methode soll die Linie um dx,dy parallel verschieben, benutzen sie dafür die schon vorhandenen Methoden in Point! La méthode toString() doit retourner un string qui représente la ligne de la façon: [(x,y)(x,y)] dans lequel x,y dans la première parenthèse représente p1 et x,y dans la deuxième parenthèse correspondante à p2. La méthode translate déplace la ligne parallèlement de dx,dy, utilisez pour cela les méthodes qui se trouvent dans la classe Point! • Erzeugen sie im Hauptprogramm (TestApp) eine Linie, lassen sie diese zunächst anzeigen, dann verschieben, dann erneut anzeigen. Créez une ligne dans le programme principal (TestApp) fait la d'abord afficher, ensuite déplacez la et affichez la de nouveau. Beispiel für Hauptprogramm: Exemple pour le programme principal: import java.awt.Point; public class TestApp { public static void main(String[] args) { Line l = new Line(new Point(10,-10),new Point(20,15)); } System.out.println(l); l.translate(10,1); System.out.println(l); } Programmausgabe: Affichage: [(10,-10)(20,15)] [(20,9)(30,16)] Diejenigen, die noch mehr üben wollen, können in die Klasse Line auch noch eine Methode public void drehen(int winkel) einbauen, was allerdings nicht ganz einfach ist!