Uebungsaufgaben_ITFS_3_SS_2025/Exercises/E44_Kapselung/Exercise_3.cs
2025-02-10 08:57:36 +01:00

53 lines
2.0 KiB
C#

using System;
using System.IO;
using System.Collections.Generic;
namespace Exercises_C_Sharp.E44_Kapselung
{
// Sie wollen eine Klasse schreiben, in der Sie einen String hinterlegen können. Der String kann im Nachhinein wieder ausgelesen werden. Folgende Eigenschaften sollen erfüllt werden:
// - Kapseln Sie die Felder in der Klasse Wordsaver und implementieren Sie die Logik, die sich jetzt in der Start-Methode befindet, in die Wordsaver-Klasse.
// - Rufen Sie die Klasse Wordsaver mit einem Konstruktor mit dem ersten zu setzenden String auf.
// - Lassen Sie es nicht zu, dass man von außerhalb der Klasse den Counter ändern kann.
// - Alle Werte, die Sie außerhalb der Klasse nicht brauchen, dürfen auch nicht zugänglich sein.
class Exercise_3
{
public static void Start()
{
//Code START
//Erstellen des Objekts
Wordsaver wordsaver = new();
//Wenn bereits ein Wort darin ist, die die Liste der vergangenen String hineinschreiben
if(!string.IsNullOrWhiteSpace(wordsaver.LastString))
wordsaver.LastWords.Add(wordsaver.LastString);
//Neuen String setzen
wordsaver.LastString = "Hallo";
//Anzahl der gesetzten Strings erhöhen
wordsaver.ChangeCounter++;
//Code ENDE
}
// So sollte die Start-Methode eigentlich (nach Ihren Änderungen) aussehen:
//
//Wordsaver wordsaver = new("Hallo");
//Console.WriteLine(wordsaver.Word); //Ausgabe: Hallo
//Console.WriteLine(wordsaver.ChangeCounter); //Ausgabe: 1
//wordsaver.Word = "Hi";
//wordsaver.Word = "Hey";
//Console.WriteLine(wordsaver.Word); //Ausgabe: Hey
//Console.WriteLine(wordsaver.ChangeCounter); //Ausgabe: 3
}
class Wordsaver
{
//Code START
public List<string> LastWords = new();
public int ChangeCounter = 0;
public string? LastString;
//Code ENDE
}
}