4030 Intro arv - animal

Teori klassen List

Exempelkod följer.

  using System;
  using System.Collections.Generic;

  public class Inköpslista
  {
      private List<String> lista;

      public Inköpslista()
      {
          lista = new List<String>();
          lista.Add("Bröd");
          lista.Add("Banan");
          lista.Add("Mjölk");
      }

      public void Print()
      {
          foreach(String vara in lista)
          {
              Console.WriteLine(vara);
          }
      }       
  }

  public class Main
  {
      public static void Main()
      {
          Inköpslista minLista = new Inköpslista();
          minLista.Print();
      }
  }

Ger utskriften

  Bröd
  Banan
  Mjölk

Källa: List, Microsoft

Uppgift

Du ska skriva tre klasser Cat, Dog och Zoo. Detaljer följer nedan.

Metoden Main

Gör ett nytt projekt i Visual Studio, en konsol-applikation.

En lämplig Main-metod visas nedan.

  static void Main(string[] args)
  {
      Console.WriteLine("Hello World!");

      // Keep the console window open in debug mode.
      Console.WriteLine("Press any key to exit.");
      Console.ReadKey();
  }

Klassen Cat

Klassen Cat ska ha en objektvariabler som heter age. I konstruktorn ska man kunna ange kattens ålder (age). Objektvariabeln age ska få det medskickade värdet när konstruktorn anropas. Anropet kan se ut som

  new Cat(3);

Det ska finnas en metod Act. Metoden ska bara skriva ut "mjau, mjau, mjao" till terminalfönstret.

Testa

Skriv följande i metoden Main för att testa utskiften.

  Cat minKatt = new Cat(5);
  minKatt.Act();

Klassen Dog

Klassen Dog fungera på samma sätt som klassen Cat. Den enda skillnaden är att när metoden Act anropas skrivs "vov, vov, vov" ut till terminalfönstret.

Klassen Zoo

Klassen Zoo ska innehålla två objektvariabler. Ett som kan innehålla objekt av klassen Cat och ett annat som kan innehålla objekt av klassen Dog.

I konstruktorn läggs det till tre katter och två hundar i respektive objektvariabler.

Det finns en metod som heter Run. När metoden körs ska vart och ett av djuren i de båda objektvariablerna få agera. Utskriften blir då något i stil med.

  mjau, mjau, mjao
  mjau, mjau, mjao 
  mjau, mjau, mjao
  vov, vov, vov
  vov, vov, vov

Testa

Skriv följande som kod i metoden Main.

  Deklarera lokal variabel mittZoo.
  Lägg ett objekt av klassen Zoo i variabeln mittZoo.
  Anropa metoden Run på ditt zoo.

Utskriften bör bli ungefär som ovan.

Utökning

Utöka ditt program med en klass Ko. Kossan säger "Mu, Muu". Lägg till tre kossor på "zoo". Testa klassen Zoo. Utskriften bör nu se ut som.

  mjau, mjau, mjao
  mjau, mjau, mjao
  mjau, mjau, mjao
  vov, vov, vov
  vov, vov, vov
  Mu, Muu
  Mu, Muu
  Mu, Muu

Reflektion

På hur många ställen i koden behövde du ändra för att lägga till klassen Ko?

Demonstration

Be din lärare berätta om arv.