Methoden Verständnisfrage zur Methoden

g_gex

Mitglied
Guten Morgen :)

ich verstehe bei dieser Klasse nicht wofür wir die Methode setFlaeche(..) bzw. setUmfang(...) brauchen. Kann man die Methoden eigentlich auch löschen, weil die ja garnicht gebraucht werden.

Java:
public class Kreis {
	double radius;

	Kreis() {
		radius = 0;
	}

	Kreis(double r) {
		radius = r;
	}

	double getRadius() {
		return radius;
	}

	void setRadius(double r) {
		radius = r;
	}

	double getUmfang() {
		return 2 * Math.PI * radius;
	}

	double getFlaeche() {
		return Math.PI * radius * radius;
	}

	void setUmfang(double u) {
		radius = u / (2 * Math.PI);
	}

	void setFlaeche(double f) {
		radius = Math.sqrt(f / Math.PI);
	}

}

und die main-Klasse
Java:
public class KreisTest {

	public static void main(String[] args) {
String kreisradius;
		double r;
		kreisradius = JOptionPane
				.showInputDialog("Geben Sie einen Kreisradius ein:");
		
		r = Double.parseDouble(kreisradius);
		Kreis k = new Kreis(r);
		System.out.println("Kreisradius: " + k.getRadius());
		System.out.println("Umfang: " + k.getUmfang());
		System.out.println("Fläche: " + k.getFlaeche());
		

	}

}
 

Tom299

Bekanntes Mitglied
Wenn du Fläche und Umfang nicht setzen willst, kannst du die Methoden löschen oder auskommentieren, falls du sie vielleicht später doch noch brauchst. Aber das kannst nur du wissen, was du damit anstellen willst ;-)
 

g_gex

Mitglied
Das war eine Übung aus einem Buch, ich habe die Aufgabe etwas anders gelöst, aber inwieweit mein Ergebnis richtig ist das weiß ich nicht. Wofür brauche ich den die Methode setFlaeche() bzw setUmfang().

Java:
public class Kreis {

	double radius;

	public Kreis() {

		radius = 0;

	}

	public Kreis(double radius) {
		this.radius = 0.0;
	}

	public double getRadius() {
		return radius;
	}

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

	public double getUmfang() {
		double umfang;

		umfang = 2.0 * 3.1415936 * radius;

		return umfang;

	}

	public void setUmfang(double u) {

	}

	public double getFlaeche() {
		double flaeche;

		flaeche = 3.1415926 * radius * radius;

		return flaeche;
	}


//main-Klasse

Java:
import javax.swing.JOptionPane;

public class KreisTest {

	public static void main(String[] args) {
		

 String eingabe = JOptionPane.showInputDialog(null,
		 "Geben Sie den Kreisradius ein: ");
		 double r = Double.parseDouble(eingabe);
		
		 Kreis k = new Kreis();      //oder Kreis k = new Kreis(r); ?
		
		 k.setRadius(r);
		 System.out.println("Umfang des Kreises: ");
		 System.out.println(k.getUmfang());
		 System.out.println("Flaeche des Kreises: ");
		 System.out.println(k.getFlaeche());
 }
}
 

Dompteur

Top Contributor
Für dein Beispiel brauchst du die beiden Methoden (setFlaeche, setUmfang) nicht. Dein Beispiel ist also nicht falsch, wenn du sie einfach löscht.

Ob man die beiden Methoden anbietet oder nicht ist eine Design Frage.

Wenn du eine Klasse planst, dann überlegst du dir normalerweise, welche Eigenschaften deine Klasse haben soll. Also wie das Interface aussehen soll. Dabei versuchst du, den Satz der angebotenen Methoden abzurunden.
Wenn du zum Beispiel Setter für einige Instanzvariablen brauchst, dann Implementierst du normalerweise Setter für alle interessanten Instanzvariablen.

Ob es nun bei einem Kreis sinnvoll ist die beiden Setter-Methoden anzubieten, hängt vom Anwendungsumfeld ab. Wenn du deinen Kreis immer über die Angabe des Radius definierst, dann brauchst du sie nicht. Wenn du aber deine Kreis-Klasse für ein Umfeld schreibst, in dem es um Umwandlungen verschiedener Kreiseigenschaften geht, dann solltest du die Methoden drin lassen.

In kleineren Übungsprojekten ist das meist egal. Wenn du drauf kommst, dass dir eine Methode fehlt, dann schreibst du sie dir einfach bei Bedarf. Aber stell dir einmal ein Team vor, wo einer für die Klasse Kreis zuständig ist und ein anderer sie verwenden will. Dann bedeutet jede fehlende Methode, dass du sie anfordern und dann darauf warten musst.
 
Zuletzt bearbeitet:

strußi

Top Contributor
du solltest die methodenvariablen radius, flaeche und umfang aus den methoderümpfen in den klassenrumpf "ziehen", im überladenen konstruktor (puplic Kreis( double radius)) den radius an deine objektvariable radius übergeben, sonst ist das ganze ding nutzlos. außderdem kannst du die berechnung von fläche und umfang im konstruktor/ in der setRadius-Methode aufrufen, und gibst dann nur noch den Wert von umfang und flaeche in den methoden getUmfang/Flaeche zurück.
 

g_gex

Mitglied
Kann jetzt nicht so ganz folgen was sie meinen.
Was meinen sie mit nutzlos?Also warum wäre es nutlos?

Java:
public Kreis(double radius) {
		this.radius = radius;
	}
 

Dompteur

Top Contributor
Kann jetzt nicht so ganz folgen was sie meinen.
Was meinen sie mit nutzlos?Also warum wäre es nutlos?

Java:
public Kreis(double radius) {
		this.radius = radius;
	}

Er bezieht sich auf die Zeile 12 in der ersten Klasse in deinem heutigen Beitrag von 09:26.
Da steht
Java:
public Kreis(double radius) {
   this.radius = 0.0;
}
 

strußi

Top Contributor
@Dompteur: Danke für die richtigstellung
@g_gex: wenn du den übergabeparameter in deinem Konstruktor nicht verwendest kannst du genau so gut den parameterlosen konstruktor verwenden
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Methoden Verständnisfrage Vererbung von Methoden Java Basics - Anfänger-Themen 14
M Verständnisfrage zu JUnit Tests und private Methoden Java Basics - Anfänger-Themen 3
T Erste Schritte Verständnisfrage: Getter und Setter Methoden Java Basics - Anfänger-Themen 3
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
A Verständnisfrage Java Basics - Anfänger-Themen 12
M Verständnisfrage: Warum wird die Datei ohne Inhalt übertragen Java Basics - Anfänger-Themen 3
P Verständnisfrage: PageFactory.initElements Java Basics - Anfänger-Themen 2
R do while Schleife Verständnisfrage Java Basics - Anfänger-Themen 2
G while.next() Verständnisfrage Java Basics - Anfänger-Themen 16
Vivien Kurze Verständnisfrage zu Java Point aus java.awt.* Java Basics - Anfänger-Themen 5
C Erste Schritte Anfänger Verständnisfrage zum Compiler Java Basics - Anfänger-Themen 31
T Verständnisfrage Objekt Getter Setter Java Basics - Anfänger-Themen 102
K Verständnisfrage Server/Client BufferedReader, PrintWriter Java Basics - Anfänger-Themen 2
Der Grütz Verständnisfrage zu Übung aus Java Kurs - Schaltjahr bestimmen Java Basics - Anfänger-Themen 2
J Verständnisfrage zu throws neben Funktionen Java Basics - Anfänger-Themen 2
TimoN11 Verständnisfrage bei Aufgabe Java Basics - Anfänger-Themen 2
P Verständnisfrage zum Mapping Java Basics - Anfänger-Themen 3
M Java Version Verständnisfrage Java Basics - Anfänger-Themen 16
M Verständnisfrage zu eine Online Aufgabe Java Basics - Anfänger-Themen 7
T Verständnisfrage zur Konsolenausgabe Java Basics - Anfänger-Themen 2
M Verständnisfrage zu Generics Java Basics - Anfänger-Themen 7
D Verständnisfrage zur Modellierung einer HDD Java Basics - Anfänger-Themen 17
S Verständnisfrage lokale Ordnerpfade Java Basics - Anfänger-Themen 1
T Verständnisfrage zu Interfaces Java Basics - Anfänger-Themen 7
J Java Starthilfe Verständnisfrage Aufgabe Java Basics - Anfänger-Themen 2
O Anfänger, Verständnisfrage Java Basics - Anfänger-Themen 3
C Verständnisfrage zu Modulo Java Basics - Anfänger-Themen 6
C Verständnisfrage bezüglich der Do-While Schleife Java Basics - Anfänger-Themen 9
L Verständnisfrage - Speicherabbild Java Basics - Anfänger-Themen 4
melly_ Verständnisfrage zu args Java Basics - Anfänger-Themen 3
A Variablen Verständnisfrage bzgl. Variablen/Referenzen Java Basics - Anfänger-Themen 3
K Verständnisfrage eines Abschnitts Java Basics - Anfänger-Themen 6
K Rekursion Verständnisfrage Java Basics - Anfänger-Themen 19
S Modell View Controller Verständnisfrage Java Basics - Anfänger-Themen 24
J Superklassen Konstruktor Verständnisfrage Java Basics - Anfänger-Themen 1
JavaTalksToMe Erste Schritte Println-Frage (Verständnisfrage) Java Basics - Anfänger-Themen 1
R Verständnisfrage zu Objekten u. Übergabeparameter Java Basics - Anfänger-Themen 8
G Collections Verständnisfrage zur For-Each-Schleife Java Basics - Anfänger-Themen 7
b1ck Interface Verständnisfrage zum GUI mit "swing" Java Basics - Anfänger-Themen 1
kilopack15 Verständnisfrage zur Verwendung von notify() bei Threads Java Basics - Anfänger-Themen 2
G Verständnisfrage zu for-each Java Basics - Anfänger-Themen 4
DontFeedTheTroll Erste Schritte Verständnisfrage zu If-Anweisung Java Basics - Anfänger-Themen 7
K Rekursion-Verständnisfrage Java Basics - Anfänger-Themen 4
J Java Server Pages - Verständnisfrage Java Basics - Anfänger-Themen 2
Z Verständnisfrage Anfängerprogramm Java Basics - Anfänger-Themen 0
T Verständnisfrage Zuweisungs-/arithmet. Operatoren Java Basics - Anfänger-Themen 2
LionAge Kapselung, Verständnisfrage zur Objekterzeugung Java Basics - Anfänger-Themen 4
Z Verständnisfrage zum Multithreading Java Basics - Anfänger-Themen 3
R OOP / Verständnisfrage zum Konstuktor (siehe code) Java Basics - Anfänger-Themen 7
gamebreiti Verständnisfrage zu contains() Java Basics - Anfänger-Themen 10
A Verständnisfrage - Koordinatenumrechnung Java Basics - Anfänger-Themen 9
J Erste Schritte Verständnisfrage im Bezug auf das (richtige) Programmieren Java Basics - Anfänger-Themen 5
H Verständnisfrage Array Java Basics - Anfänger-Themen 2
I Interface Verständnisfrage Interfaces (Bsp.: Enumeration) Java Basics - Anfänger-Themen 2
I Verständnisfrage zu BridgePattern, Verwedung von super() Java Basics - Anfänger-Themen 4
P Verständnisfrage Java Basics - Anfänger-Themen 3
kaoZ Best Practice Verständnisfrage Listener bei lokalen Objekten Java Basics - Anfänger-Themen 8
D Input/Output Verständnisfrage Verzeichnis-/Dateiliste erstellen & Dateikonvertierung Java Basics - Anfänger-Themen 1
S Verständnisfrage zu Anweisungen und deren Wirkung Java Basics - Anfänger-Themen 7
H Verständnisfrage für oder Anweisung Java Basics - Anfänger-Themen 8
E Threads Verständnisfrage bzgl. Threads und Sleep Java Basics - Anfänger-Themen 2
H Verständnisfrage zu Java-Ausgabe Java Basics - Anfänger-Themen 3
S Verständnisfrage Java Basics - Anfänger-Themen 2
N Verständnisfrage Code Java Basics - Anfänger-Themen 8
B Verständnisfrage Java Basics - Anfänger-Themen 2
H Interface Comparable Verständnisfrage Java Basics - Anfänger-Themen 6
B Verständnisfrage Codezeile Java Basics - Anfänger-Themen 7
B Verständnisfrage:Beispielprogramm BlueJ Java Basics - Anfänger-Themen 3
M Kurze Verständnisfrage zu einer Java Aufgabe Java Basics - Anfänger-Themen 12
K Erste Schritte Kleine Verständnisfrage Java Basics - Anfänger-Themen 12
R Verständnisfrage Referenzvariablen in array Java Basics - Anfänger-Themen 3
M Verständnisfrage: Objekt erzeugen u. zuweisen Java Basics - Anfänger-Themen 16
I OOP Verständnisfrage zu Singelton Pattern Java Basics - Anfänger-Themen 21
M Verständnisfrage zu JPanel Java Basics - Anfänger-Themen 3
S Verständnisfrage: Exception Gebrauch Java Basics - Anfänger-Themen 2
R Verständnisfrage NPE Java Basics - Anfänger-Themen 5
M Verständnisfrage zur Zahlenumwandlung (Dezimal-->Dual) Java Basics - Anfänger-Themen 25
P Java Objekte - Verständnisfrage Java Basics - Anfänger-Themen 9
N Verständnisfrage zu folgendem Programm Java Basics - Anfänger-Themen 2
L Grundlegende Verständnisfrage Hasmap Referenzen Java Basics - Anfänger-Themen 4
S Verständnisfrage zu Interfaces Java Basics - Anfänger-Themen 2
VfL_Freak Verständnisfrage zur Klasse "TIMER" Java Basics - Anfänger-Themen 7
P Verständnisfrage zu Instanzen/Objekten Java Basics - Anfänger-Themen 9
M Verständnisfrage im Umgang mit Map Java Basics - Anfänger-Themen 10
K Verständnisfrage zu int.length und String.length() Java Basics - Anfänger-Themen 4
G 2D Array gleichsetzen verständnisfrage Java Basics - Anfänger-Themen 2
M kleine und einfache Verständnisfrage Java Basics - Anfänger-Themen 3
N verständnisfrage java.util.Calendar Java Basics - Anfänger-Themen 4
G Datentypen bits, bytes, chars - Verständnisfrage Java Basics - Anfänger-Themen 5
E Verständnisfrage zu Shutdownhook Java Basics - Anfänger-Themen 5
D Verständnisfrage: Java und MySql Java Basics - Anfänger-Themen 3
F Rekursion Verständnisfrage Java Basics - Anfänger-Themen 6
A Exception Verständnisfrage: Exceptions während, einer Statischenzuweisung abfangen Java Basics - Anfänger-Themen 10
Z Comparator Verständnisfrage Java Basics - Anfänger-Themen 5
D Verständnisfrage zu Funktionen Java Basics - Anfänger-Themen 6
H Verständnisfrage Persistenz Java Basics - Anfänger-Themen 10
neurox Verständnisfrage zu Threads Java Basics - Anfänger-Themen 4
E Verständnisfrage Syntax: frame.getContentPane().add(button) Java Basics - Anfänger-Themen 11
Y Kleine Verständnisfrage zum Thema dynamische Polymorphie Java Basics - Anfänger-Themen 3
F Verständnisfrage Objekt instanzierung / Polymorphie Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben