创建三个自定义类和集合。
animal类。
using System;
namespace a
{
public abstract class Animal
{
protected string name;
public string Name
{
get
{
return name;
}
set
{
name=value;
}
}
public Animal()
{
name="The animal with no name";
}
public Animal (string newName)
{
name=newName;
}
public void Feed()
{
Console.WriteLine("{0} has been fed.",name);
}
}
}
chicken类。
using System;
namespace a
{
public class Chicken:Animal
{
public void LayEgg()
{
Console.WriteLine("{0} has laid an egg.",name);
}
public Chicken(string newName):base(newName)
{
}
}
}
cow类。
using System;
namespace a
{
public class Cow:Animal
{
public void Milk()
{
Console.WriteLine("{0} has been milked.",name);
}
public Cow(string newName):base(newName)
{
}
}
}
programe.cs.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
namespace a
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Create an Array type collection of Animal"+"objects and use it:");
Animal[] animalArray=new Animal[2];
Cow myCow1=new Cow("Deirdre");
animalArray[0]=myCow1;
animalArray[1]=new Chicken("ken");
foreach(Animal myAnimal in animalArray)
{
Console.WriteLine("New {0} object added to Array collection,"+"Name={1}",myAnimal.ToString(),myAnimal.Name);
}
Console.WriteLine("Array collection contains {0} objects.",animalArray.Length);
animalArray[0].Feed();
((Chicken)animalArray[1]).LayEgg();
Console.WriteLine();
Console.WriteLine("Create an ArrayList type collection of Animal"+"objects and use it:");
ArrayList animalArrayList=new ArrayList();
Cow myCow2=new Cow("Hayleg");
animalArrayList.Add(myCow2);
animalArrayList.Add(new Chicken("Roy"));
foreach (Animal myAnimal in animalArrayList)
{
Console.WriteLine("New {0} object added to ArrayList collection,"+"Name={1}",myAnimal.ToString(),myAnimal.Name);
}
Console.WriteLine("ArrayList collection contains {0} objects.",animalArrayList.Count);
((Animal)animalArrayList[0]).Feed();
((Chicken)animalArrayList[1]).LayEgg();
Console.WriteLine();
Console.WriteLine("Additional manipulation of ArrayList:");
animalArrayList.RemoveAt(0);
((Animal)animalArrayList[0]).Feed();
animalArrayList.AddRange(animalArray);
((Chicken)animalArrayList[2]).LayEgg();
Console.WriteLine("The animal called {0} is at index {1}.",myCow1.Name,animalArrayList.IndexOf(myCow1));
myCow1.Name="Janice";
Console.WriteLine("The animal is now called {0}.",((Animal)animalArrayList[1]).Name);
Console.ReadKey();
}
}
}