4030 Intro arv - animal
Lärandemål
Kunna göra följande med samlingsklassen List
:
- Skapa ett lista, det vill säga ett objekt av klassen
List
- Lägga till element i listan
- Använda en
foreach
-slinga för att stega igenom elementen i listan
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. Alternativt så kan katten säga mjau så många gånger som den är år gammal.
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.