Repeterbara citat

Last updated 5 months ago

I projektet som hör till övningsuppgiften skapas två objekt av klassen QuoteViewer i metoden Main. Problemet är att klassen QuoteViewer saknas. Din uppgift är att skriva en klassdeklaration så att koden i Main-metoden kan köras utan att förändras och utan problem. Programmet ska ge utskriften enligt bilden nedan.

-----
I have a dream.
I have a dream.
I have a dream.
I have a dream.
I have a dream.
I have a dream.
I have a dream.
-----
-----
Make love, not war.
Make love, not war.
Make love, not war.
-----
-----
Et tu, Brute
Et tu, Brute
Et tu, Brute
-----

Figur 1. Konsolutskrift efter att klassen QuotateViewer har implementerats korrekt.

Du får inte redigera koden i klassen Program på något sätt. All kod du skriver ska skrivas i klassdeklarationen till klassen QuoteViewer. Genom att analysera figur 1, klassdiagrammet och metoden Main ska du komma fram till hur klassen ska implementeras.

Klassdiagram Figur 2. Klassen QuoteViewer.

Program.cs

namespace RepeatableQuotes
{
/// <summary>
/// Represents the main place where the program starts the execution.
/// </summary>
class Program
{
/// <summary>
/// The starting point of the application.
/// </summary>
static void Main()
{
// Create a new QuoteViewer object using the default
// constructor, assign the object values using properties and
// call a method.
QuoteViewer qw = new QuoteViewer();
qw.Quote = "I have a dream.";
qw.Count = 7;
qw.View();
// Create and initiate another QuoteViewer object using
// constructor having two parameters and calls a method.
QuoteViewer anotherQw =
new QuoteViewer("Make love, not war.", 3);
anotherQw.View();
// Change the object data using a property and call a method.
anotherQw.Quote = "Et tu, Brute";
anotherQw.View();
}
}
}

Mål

Efter att ha gjort uppgiften ska du kunna:

  • Implementera en klass genom att tolka ett klassdiagram och programkod som använder objekt som instansierats av klassen.

  • Förstå vad ett fält (field) är och hur du deklarerar ett sådant.

  • Skriva en standardkonstruktor och förstå vad konstruktorer har för roll.

  • Förstå att en klass kan ha flera konstruktorer så länge de har olika parameterlistor. Kallas överlagring (overloading).

  • Skriva egenskaper (properties).

  • Kunna skriva en metod som inte returnerar något värde (void) och som inte har någon parameterlista.

Tips

Läs om:

Lösningsförslag