Methoden Aufgabe zu ""Methoden" und "Objektorientierung"

supermxy

Mitglied
Hallo Programmierer,

ich bin gerade dabei Programmieren ???:L???:L???:L zu lernen und hab dazu eine Übungsaufgabe. Es geht hierbei um Java.

Aufgabe:
Erstellen Sie ein Projekt und eine Klasse mit dem Namen Kreis. Die Klasse soll nur über ein Datenelement (Attribut) mit dem Namen radius verfügen, in dem der Radius als Kommazahl festgehalten wird. Erstellen Sie einen Konstruktor mit leerer Parameterliste, der den Radius mit dem Wert 0 initialisiert, und einen Konstruktor, dem als Parameter eine Kommazahl zur Initialisierung des Radius übergeben wird. Als Methoden soll die Klasse verfügen über:

Java:
double getRadius();
setRadius(double r);
double getUmfang();
double getFlaeche();

Könnt ihr mir dabei erklären, was er genau von mir haben will und wie ich diese Aufgabe löse. Bitte für "normal sterbliche" erklären. 🙂
Würd mich freuen, wenn sich da jemand die Zeit nehmen würde.

P.S. Projekt und Klasse habe ich bereits in eclipse erstellt.
 
Zuletzt bearbeitet:
Na da sollte man aber erst die Grundlagen der Objekorientierung lernen, dann versteht sich das eigentlich von selbst.

Ein Konstruktor heißt in Java überlicherweise so, wie der Klassenname selbst. Es kann pro Klasse nur einen Konstruktor mit einer verschiedenen Anzahl an Argumenten geben.
Hier soll es also 2 Konstruktoren geben. Da sind wir beim Thema "Überladen von Methoden", was es so ziemlich in allen anderen Programmiersprachen auch gibt.

Java:
class Kreis () {
  private double radius;
}
So. Die Klasse ist schonmal fertig. Das Datenelement, der Radius vom Typ Double ist auch schon drin. Private sagen wir, damit andere von außen nicht an unserer Klasse herummanipulieren können.

Dann noch 2 Konstruktoren (einen ohne und einen mit Argumenten / sogenannt "überladen"):

Java:
public Kreis () { // Ohne Parameter
  this.radius = 0.0;
}

public Kreis (double radius) { // Mit einer Kommazahl als Parameter
  this.radius = radius;
}

Die Sache mit dem Getter und Setter, da sind wir dann schon beim Thema "Kapselung".

Java:
// Die Methode soll jeder von außen benutzen können und gibt einen double zurück
public double getRadius() {
  return this.radius;
}

// Die auch, hier ist Rückgabewert aber void (=kein Rückgabewert)
public void setRadius(double r) {
  this.radius = r;
}

Schon ist die Klasse fertig:

Java:
class Kreis () {
  private double radius;

  public Kreis () { // Ohne Parameter
    this.radius = 0.0;
  }

  public Kreis (double radius) { // Mit einer Kommazahl als Parameter
    this.radius = radius;
  }

  public double getRadius() {
    return this.radius;
  }

  public void setRadius(double r) {
    this.radius = r;
  }
}

Den Rest bekommst du selbst hin 😉

[edit]Double auf primitiven Datentypen geändert, so wie gefordert[/edit]
 
Zuletzt bearbeitet:
Naja die Aufgabenstellung ist simpel, du benötigst einen Konstruktor ohne parameter und einen Konstruktor mit Parametern ( double ) und sollst beim darin den radius mit 0 initialisieren, ich weiss nicht wie weit du schon mit Java vertraut bist aber hier mal ein kleines Beispiel

Java:
public class Kreis
{
double radius; // instantiert eine double variable ohne initialisierung

// erzeugt einen Konstruktor ohne parameter
public Kreis()
{

this.radius = 0.0; // initialisiert die double variable radius mit dem Wert  "0.0"
}

//erzeugt einen Konstruktor der einen double Wert als parameter erwartet
public Kreis(double r)
{
  this.radius = r;
}
public static void main(String[]args)
{
 new Kreis(); // entweder mit leerem parameter oder mit angabe einer double Wertes für den Radius
}

}

hier fehlen lediglich die oben beschriebenen Methoden(getter & setter) für den Radius , aber ich will ja nicht deine ganze aufgabe lösen 😉

[EDIT]geqoo war schneller ^^[/EDIT]
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben