erstellt 13.08.99; überarbeitet 05.05.03; übersetzt 20.05.03; überarbeitet 21.01.04, 10.01.05, 11.10.06, 10.01.11, 12.05.18, 20.11.18, 29.04.19, 30.11.20, 05.07.21, 24.05.22, 30.01.23; Deutsche Übersetzung Heinrich Gailer


Wir füllen die Lücken aus

Hinweise:   Das ist eine unbewertete Lückenübung. Jede Frage besteht aus einem Satz, bei dem ein oder zwei Wörter fehlen. Ein Button repräsentiert das fehlende Wort bzw. die fehlenden Wörter. Wir überlegen welches Wort bzw. welche Wörter fehlen. Klicken dann auf die Schaltfläche, um zu sehen ob wir recht haben. Es wird keine Note für diese Übung ermittelt.


1.      Design der Teleskop-Klasse.     Die wichtigsten Zahlen, die ein Teleskop beschreiben, sind: der Durchmesser der Hauptlinse (das was vorne ist), die Brennweite der Hauptlinse und die Brennweite des Okulars.

Basierend auf diesen Werten werden andere Merkmale des Teleskops wie Vergrößerung und die F-Zahl der Hauptlinse berechnet.

Wir füllen für das folgende Design der Klasse die Lücken aus:

class 
Eine Klasse, die ein Teleskop modelliert.

Konstruktoren

Teleskop ( double ,
           double ,
           double   )


Instanzmethoden

// Vergroesserung des Teleskops berechnen
double  

// F-Zahl des Teleskops berechnen
double  

2.      Überprüfung des Designs.     Wir schreiben zur Überprüfung des Designs ein kleines Programm, das die Klasse verwendet, um zu sehen ob sie gut funktioniert. Erzeugen dann ein Teleskop-Objekt mit einer Hauptlinse von 3.0 Zoll Durchmesser, einer Brennweite von 6.5 Zoll und einer Okularbrennweite von 0.8 Zoll. Wir geben die Vergrößerung und die F-Zahl aus.

class TeleskopTester
{

  public static void main ( String[] args )
  {
     Teleskop tele = new   ;

     System.out.println( "Vergroesserung: "    + tele. +
                         "  F-Zahl: " + tele. );

  }
}

3.      Grundgerüst der Klasse.    Wir füllen die Lücken aus, um das Grundgerüst der Klasse anzugeben.

class Teleskop
{
  // 

  // 

  // 

}

4.      Wir füllen die Instanzvariablen aus.    Wir füllen den Datentyp jeder Instanzvariablen aus.

class Teleskop
{
  // Instanzvariablen
   durchmesserHauptlinse;
   brennweiteHauptlinse;
   brennweiteOkular;

  // Konstruktoren

  // Instanzmethoden

}

5.      Wir vervollständigen den Konstruktor.    Der Konstruktor wird die Instanzvariablen der konstruierten Objekte initialisieren.

class Teleskop
{
  // Instanzvariablen
  double durchmesserHauptlinse;
  double brennweiteHauptlinse;
  double brennweiteOkular;

  // Konstruktor
   ( double , double , double   )
  {
    this.durchmesserHauptlinse =  ;
    this.brennweiteHauptlinse  =  ;
    this.brennweiteOkular      =  ;

  }



  // Instanzmethoden

}

Wenn eine Instanzvariable und ein Parameter den gleichen Bezeichner haben, kann auf die Instanzvariablen des Objekts über "this.bezeichner" zugegriffen werden.


6.      Wir vervollständigen die erste Methode.     Die Dokumentation für die Methode berechneVergroesserung() besagt, dass sie folgendermaßen aussieht:

// Vergroesserung des Teleskops berechnen
double  berechneVergroesserung()

Die zu verwendende Formel lautet: vergroesserung = brennweiteHauptlinse / brennweiteOkular

class Teleskop
{
  // Instanzvariablen
  double durchmesserHauptlinse;
  double brennweiteHauptlinse;
  double brennweiteOkular;

  // Konstruktor
  Teleskop ( double durchmesserHauptlinse, double brennweiteHauptlinse, double brennweiteOkular )
  {
    this.durchmesserHauptlinse = durchmesserHauptlinse ;
    this.brennweiteHauptlinse  = brennweiteHauptlinse ;
    this.brennweiteOkular      = brennweiteOkular ;

  }

  // Instanzmethoden
  double berechneVergroesserung()
  {
    return  /  ;
  }
}

Wir müssen in der Methode nicht "this" verwenden, da es klar ist, dass die Bezeichner sich auf die Instanzvariablen beziehen. Die Methode berechneVergroesserung() kann sogar nicht einmal die Parameter des Konstruktors sehen. (Denkt daran, die Parameter sind wie ein privates Telegramm an den Konstruktor.)


7.      Wir vervollständigen die nächste Methode.     Die Dokumentation besagt, dass sie folgendermaßen aussieht:

// Berechnen der F-Zahl des Teleskops
double  berechneFZahl()

Wir verwenden die Formel: fZahl = brennweiteHauptlinse / durchmesserHauptlinse

class Teleskop
{
  // Instanzvariablen
  double durchmesserHauptlinse;
  double brennweiteHauptlinse;
  double brennweiteOkular;

  // Konstruktor
  Teleskop ( double durchmesserHauptlinse, double brennweiteHauptlinse, double brennweiteOkular )
  {
    this.durchmesserHauptlinse          = durchmesserHauptlinse ;
    this.brennweiteHauptlinse = brennweiteHauptlinse ;
    this.brennweiteOkular     = brennweiteOkular ;
  }

  // Instanzmethoden
  double berechneVergroesserung()
  {
    return brennweiteHauptlinse / brennweiteOkular ;
  }

  double berechneFZahl()
  {
    return  /  ;
  }
}

8. Wir testen das Programm aus einer anderen Klasse heraus mit dem Namen  TeleskopTester.


Ende des Tests. Wer ihn wiederholen möchten, klickt in seinem Browser auf "Aktualisieren".

Zurück zum Inhaltsverzeichnis.