Objektorienterad programmering (1DV024)
  • Introduktion
  • Licens
  • Programvaror
  • Föreläsningar
    • Inspelade föreläsningar
    • Hållna och kommande
      • Introduktionsföreläsning
      • Föreläsning 1
      • Föreläsning 2
      • Föreläsning 3
      • Föreläsning 4
      • Föreläsning 5
      • Föreläsning 6
      • Föreläsning 7
  • Övningsuppgifter
    • Introduktionsuppgift
    • Del 1
      • !Häftig temperaturomvandling
      • Produkten av heltal
      • Fundamental endimensionell array
      • Statisk addition
      • Sista meddelandet från Titanic
      • Ordmekanikern
    • Del 2
      • Repeterbara citat
      • Tröstrika banken
      • Personlig kontrollsiffra
  • Examinationsuppgifter
    • Om
      • Praktisk examinationsuppgift
      • Muntlig examination
    • 1. Skarp beskrivande statistik
    • 2. Figurativt arv
    • 3. Tjugoett
Powered by GitBook
On this page
  • Uppgift
  • Mål
  • Tips
  1. Övningsuppgifter
  2. Del 2

Repeterbara citat

PreviousDel 2NextTröstrika banken

Last updated 6 years ago

,

Uppgift

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

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 utskriften, klassdiagrammet och metoden Main ska du komma fram till hur klassen ska implementeras.

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:

  • Klasser och fält

    • Essential C# 6.0, 217-228.

  • Konstruktorer

    • Essential C# 6.0, 254-263.

  • Metoder

    • Essential C# 6.0, 161-177.

  • Egenskaper (properties)

    • Essential C# 6.0, 237-244.

repo
lösningsförslag
https://msdn.microsoft.com/en-us/library/0b0thckt.aspx
https://msdn.microsoft.com/en-us/library/ace5hbzh.aspx
https://msdn.microsoft.com/en-us/library/ms173114.aspx
https://msdn.microsoft.com/en-us/library/x9fsa0sw.aspx
Figur 1. Klassen QuoteViewer.