Interfaces + Bugfix Klassen

main
Sebastian Schüler 2024-07-23 08:27:59 +02:00
parent 7f5fedfe16
commit 9fc4489559
7 changed files with 166 additions and 16 deletions

View File

@ -8,7 +8,7 @@ namespace Exercises_C_Sharp.E28_Classes
{
public static void Start()
{
List<Lists> listList = new List<Lists>();
List<Lists> listList = new();
//Erstellen Sie fünf neue Instanzen der Klasse Lists und fügen Sie diese der oberen Liste hinzu.
//Code START
@ -21,12 +21,14 @@ namespace Exercises_C_Sharp.E28_Classes
//Sollte sich das Element in einer Liste befinden, dann geben Sie den Wert davor und den Wert danach aus. Sollte es keinen Wert davor bzw. danach geben, nehmen Sie den letzten oder den ersten Wert.
while(true)
{
//Code START
//Code ENDE
}
}
static void fillListsWithRandomValues(Lists lis)
{
Random rand = new Random();
Random rand = new();
//Fill Integer
for(int i = 0; i < rand.Next(5, 21); i++)
lis.IntegerList.Add(rand.Next());
@ -53,9 +55,9 @@ namespace Exercises_C_Sharp.E28_Classes
}
class Lists
{
public List<int> IntegerList = new List<int>();
public List<string> StringList = new List<string>();
public List<char> CharList = new List<char>();
public List<decimal> DecimalList = new List<decimal>();
public List<int> IntegerList = new();
public List<string> StringList = new();
public List<char> CharList = new();
public List<decimal> DecimalList = new();
}
}

View File

@ -27,10 +27,15 @@ namespace Exercises_C_Sharp.E28_Classes
//Geben Sie in diser Methode alle Ausweise optisch ansprechend auf der Konsole aus.
static void ShowIDs(List<ID> idList)
{
//Code START
//Code ENDE
}
//Sorgen Sie dafür, dass der Anwender hier einen validen Ausweis erstellen kann. Setzen Sie die IDNumber selber. Achten Sie darauf, dass eine IDNumber mindesten 5 Zahlen beinhaltet und eindeutig sein muss.
//Code START
//Code ENDE
static ID UserCreateID()
{
//Code START
@ -39,6 +44,9 @@ namespace Exercises_C_Sharp.E28_Classes
}
//Code START
//Code ENDE
}
class ID

View File

@ -6,9 +6,9 @@ namespace Exercises_C_Sharp.E28_Classes
{
class Exercise_7
{
static List<Customer> CustomerList = new List<Customer>();
static List<Product> ProductList = new List<Product>();
static List<Invoice> InvoiceList = new List<Invoice>();
static List<Customer> CustomerList = new();
static List<Product> ProductList = new();
static List<Invoice> InvoiceList = new();
public static void Start()
{
while(true)

View File

@ -18,28 +18,37 @@ namespace Exercises_C_Sharp.E42_Interfaces
//Code ENDE
class Person{
class Person /*Code START*//*Code ENDE*/{
string _personName;
public Person(string name)
{
_personName = name;
}
//Code START
//Code ENDE
}
class Customer{
class Customer /*Code START*//*Code ENDE*/{
string _customerName;
public Customer(string name)
{
_customerName = name;
}
//Code START
//Code ENDE
}
class Human{
class Human /*Code START*//*Code ENDE*/{
string _humanName;
public Human(string name)
{
_humanName = name;
}
//Code START
//Code ENDE
}
}

View File

@ -26,7 +26,15 @@ namespace Exercises_C_Sharp.E42_Interfaces
}
}
//ToDo!!!!
foreach(var element in byteList)
{
// 0 0 0 0 0 0 0 0
// 1 1 1 1 1 1 1 1
int frequency = element | 0b00001111;
int duration = element | 0b11110000;
Console.Beep(frequency, duration);
Task.Delay(500);
}
}
}

View File

@ -1,10 +1,48 @@
namespace Exercises_C_Sharp.E42_Interfaces
{
//Sie sehen unten drei Methoden, die alle drei zu verschiedenen Schnittstellen von der Software führen. Die Schnittstellen haben alle drei fest definierte Interfaces.
//Sie sollen nun eine Klasse schreiben, die von allen drei Interfaces ableitet. Erstellen Sie dann in der Start-Methode ein neues Objekt Ihrer Klasse und rufen Sie die drei Methoden mit dem Objekt auf.
class Exercise_3
{
public static void Start()
{
//ToDo!!!!
//Code START
//Code ENDE
}
static void BringerMeth(IBringer bring)
{
bring.Bring("Stuff");
}
static void GetIt(IGetter getter)
{
Console.WriteLine(getter.Get());
}
static void Receiver(IReceiver receiver)
{
Console.WriteLine(receiver.Receive());
}
}
interface IBringer
{
void Bring(string val);
}
interface IGetter
{
string Get();
}
interface IReceiver
{
string Receive();
}
//Code START
//Code ENDE
}

View File

@ -0,0 +1,85 @@
using System.Reflection.Metadata.Ecma335;
namespace Exercises_C_Sharp.E42_Interfaces
{
//Sie sollen eine Aufgabe übernehmen, die eine nicht ganz so begabter Praktikant angefangen hat.
//Diese bestand darin, für jede Wortart eine Klasse zu erstellen, was dieser auch gemacht hat. Jetzt gibt es eine Methode SentenceMaker(), die die Wörter zusammensetzt und einen Text zurück gibt. Leider ist es dort nicht möglich, mehrere Sätze erzeugen zu lassen.
//Ihre Aufgabe ist nun, dass mehrere Wörter übergeben werden können, woraus mehrere Sätze gemacht und zurück gegeben werden sollen. Erstellen Sie dafür ein Interface, von dem alle Klassen ableiten.
class Exercise_4
{
public static void Start()
{
//Zum Schluss: Erstellen Sie hier mehrere Objekte der Klassen und rufen Sie die SentenceMaker()-Methode damit auf.
//Code START
//Code ENDE
}
//Code START
static string SentenceMaker(Article article, Nomen nomen, Verb verb, Adjective adjective)
{
return string.Format("{0} {1} {2} {3}.", article.BackArticle(), nomen.GiveNomen(), verb.GetVerb(), adjective.ReturnAdjective());
}
//Code ENDE
}
//Hier können Sie das Interface definieren, welches die unteren Klassen implementieren sollen
//Code START
//Code ENDE
class Verb
{
string _verb {get;set;}
public Verb(string val)
{
_verb = val;
}
//Code START
public string GetVerb() => _verb;
//Code ENDE
}
class Nomen
{
string _nomen {get;set;}
public Nomen(string val)
{
_nomen = val;
}
//Code START
public string GiveNomen() => _nomen;
//Code ENDE
}
class Adjective
{
string _adjective {get;set;}
public Adjective(string val)
{
_adjective = val;
}
//Code START
public string ReturnAdjective() => _adjective;
//Code ENDE
}
class Article
{
string _article {get;set;}
public Article(string val)
{
_article = val;
}
//Code START
public string BackArticle() => _article;
//Code ENDE
}
}