parent
e73836d059
commit
679bad3a00
|
|
@ -0,0 +1,25 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Exercises_C_Sharp.E44_Kapselung
|
||||
{
|
||||
// Sorgen Sie dafür, dass der Wert in Number immer dreistellig ist. Setzen Sie dann in Start() den Wert und geben Sie diesen auf der Konsole aus.
|
||||
|
||||
class Exercise_1
|
||||
{
|
||||
public static void Start()
|
||||
{
|
||||
//Code START
|
||||
|
||||
//Code ENDE
|
||||
}
|
||||
}
|
||||
|
||||
class NumberSaver
|
||||
{
|
||||
//Code START
|
||||
public int Number;
|
||||
//Code ENDE
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Exercises_C_Sharp.E44_Kapselung
|
||||
{
|
||||
//Schreiben Sie eine Klasse ArrayPacker. Lagern Sie die Array-Variable in diese Klasse aus. Sorgen Sie dafür, dass dieses Array niemals null werden kann.
|
||||
class Exercise_2
|
||||
{
|
||||
//Code START
|
||||
static int[]? intArray = null;
|
||||
//Code ENDE
|
||||
|
||||
public static void Start()
|
||||
{
|
||||
//Code START
|
||||
intArray = new int[]{12,23,34,45,56,56};
|
||||
//Code ENDE
|
||||
}
|
||||
}
|
||||
|
||||
//Code START
|
||||
|
||||
//Code ENDE
|
||||
}
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
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
|
||||
}
|
||||
}
|
||||
35
Program.cs
35
Program.cs
|
|
@ -597,7 +597,37 @@ namespace Exercises_C_Sharp
|
|||
new(){Name = "Aufgabe 2", Method = Exercises_C_Sharp.E38_MySQL.Exercise_2.Start}
|
||||
}
|
||||
};
|
||||
|
||||
//************************
|
||||
//******* Kapselung ******
|
||||
//************************
|
||||
ExerciseGroup kapselungElements = new()
|
||||
{
|
||||
Name = "44. Kapselung",
|
||||
ElementList = new List<ExerciseElement>()
|
||||
{
|
||||
new(){Name = "Aufgabe 1", Method = Exercises_C_Sharp.E44_Kapselung.Exercise_1.Start},
|
||||
new(){Name = "Aufgabe 2", Method = Exercises_C_Sharp.E44_Kapselung.Exercise_2.Start},
|
||||
new(){Name = "Aufgabe 3", Method = Exercises_C_Sharp.E44_Kapselung.Exercise_3.Start}
|
||||
}
|
||||
};
|
||||
//************************
|
||||
//******** Pattern *******
|
||||
//************************
|
||||
ExerciseGroup patternElements = new()
|
||||
{
|
||||
Name = "46. Designpattern",
|
||||
ElementList = new List<ExerciseElement>()
|
||||
{
|
||||
new(){Name = "Singleton", Method = Exercises_C_Sharp.E46_Designpattern.Exercise_1.Start},
|
||||
new(){Name = "Factory", Method = Exercises_C_Sharp.E46_Designpattern.Exercise_2.Start},
|
||||
new(){Name = "Observer", Method = Exercises_C_Sharp.E46_Designpattern.Exercise_3.Start},
|
||||
new(){Name = "Strategy", Method = Exercises_C_Sharp.E46_Designpattern.Exercise_4.Start},
|
||||
new(){Name = "Decorator", Method = Exercises_C_Sharp.E46_Designpattern.Exercise_5.Start},
|
||||
new(){Name = "Adapter", Method = Exercises_C_Sharp.E46_Designpattern.Exercise_6.Start},
|
||||
new(){Name = "Facade", Method = Exercises_C_Sharp.E46_Designpattern.Exercise_7.Start},
|
||||
new(){Name = "Command", Method = Exercises_C_Sharp.E46_Designpattern.Exercise_8.Start}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
|
@ -694,7 +724,8 @@ namespace Exercises_C_Sharp
|
|||
fileformatsElements,
|
||||
serializeElements,
|
||||
mysqlElements,
|
||||
|
||||
kapselungElements,
|
||||
patternElements,
|
||||
|
||||
specialElements,
|
||||
developElements,
|
||||
|
|
|
|||
Loading…
Reference in New Issue