53 lines
2.0 KiB
C#
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
|
|
}
|
|
} |