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

85 lines
2.2 KiB
C#

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
}
}