====== Soziales Netz Entwurf 1 ====== {{ :faecher:informatik:oberstufe:modellierung:vererbung:entwurf1:vererbung02.drawio.png |}} ---- {{:aufgabe.png?nolink |}} === (A1) === * Implementiere den Rumpf der Klassen ''PhotoPost'' und ''TextPost'' mit Attributen und Konstruktor. Welche Datenstruktur könnte man für die Speicherung der Kommentare verwenden? Was fällt dir auf, wenn du die Klassendefinitionen vergleichst? * Implementiere von der Klasse NewsFeed die Attribute für die beiden Arten von Posts sowie eine mögliche Methode ''ShowFeed()'', die zuerst alle Texte und anschließend alle Photos auflistet. Du darfst davon ausgehen, dass die Methode ''display'' für die Klassen ''PhotoBeitrag'' und ''TextBeitrag'' bereits funktional implementiert ist. ---- {{:aufgabe.png?nolink |}} === (A2) === ---- Arbeite mit der Vorlage von https://codeberg.org/qg-info-unterricht/school-net-qg-v1. * Lege eine Testklasse für die Klasse ''NewsFeed'' an. Erstelle anschließend einige Beiträge (Text und Bild) und füge diese deinem Feed hinzu. Teste die ''showFeed()'' Methode des NewsFeed-Objekts. **Speichere dann den Objektzustand ab**, indem du auf die Textklasse mit der rechten Maustaste klickst und dort "objektzustand speichern" wählst. Stelle den Objektzustand dann wieder her und teste erneut die Methode ''showFeeed()'' deines NewsFeed-Objekts ([[https://tube.schule.social/w/61kWjMb6QpGck44Q4Ajtat|Video]]). * Untersuche den Code der Vorlage. * Vergleiche die Implementation der Methode ''showFeed()'' mit deiner eigenen aus Aufgabe 1. * Vollziehe den Code der ''display()''-Methoden der beiden Beitragsklassen nach. * Erzeuge ein TextBeitrags-Objekt. Trage das neue Objekt es in den NewsFeed ein und lasse dann den Inhalt des Feeds anzeigen. Für den Beitrag wurde kein Kommentar angegeben. Füge dem TextBeitrags-Objekt auf der Objektleiste einen Kommentar hinzu. Wenn du jetzt den Newsfeed anzeigen lässt: Hat die aufgeführte Einsendung dann einen Kommentar? ---- === Material === {{simplefilelist>.:*}}