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 LastWords = new(); public int ChangeCounter = 0; public string? LastString; //Code ENDE } }