Frage von ichniiixwissen, 68

Programmieren kann ich nicht?

Könt ihr mir bitte bei meiner Programmier-Hausaufgabe helfen? Muss man final Attribute nicht sofort initialiieren? Wie soll der Code aussehen?

Schreiben Sie eine Klasse Point. Ein Punkt soll zwei konstante, private Fließkomma-Attribute x und y zum Speichern seiner Position bereithalten. Die Attribute sollen durch einen Parameterkonstruktor (erster Parameter für x, zweiter für y) initialisiert werden.

Antwort
von PWolff, 26

1. Die meisten Mitglieder dieser Community helfen sehr gern bei Problemen mit Hausaufgaben, reagieren aber sehr ungehalten, wenn jemand nicht einmal demonstriert, dass er sich überhaupt Gedanken gemacht hat. Also: Was hast du dir bis jetzt überlegt? An welcher Stelle hängst du fest?

2. Welche Programmiersprache? Ggf. welcher Compiler? Bei C# z. B. kann man als readonly deklarierte Eigenschaften in einem Konstruktor setzen.

3. auch sonst kann man so etwas durch einen öffentlichen Getter und einen privaten Setter für die Eigenschaft lösen (mit einer privaten Hilfsvariablen, die die Eigenschaft zwischenspeichert). C# erzeugt solchen Code selbständig im Hintergrund, wenn man z. B. folgendes angibt:

public int TestProp { get; private set; }

Das dürfte in Java ähnlich sein.

4. mit obigem Codebeispiel hätte ich deine Aufgabe für C# im wesentlichen gelöst.

Antwort
von kordely, 23

Da du über final Attribute schreibst, ich nehme an, dass die Sprache Java sein muss.

Also: final bedeutet Konstant. Der Konstruktor kann ihn, und nur einmal einstellen. Probiere aus!

http://beginnersbook.com/2014/07/final-keyword-java-final-variable-method-class/

Keine passende Antwort gefunden?

Fragen Sie die Community