Add object in a hierarchy into a generic Collection : Generic Collections « Generics « C# / C Sharp






Add object in a hierarchy into a generic Collection

   


using System;
using System.Collections.ObjectModel;
using System.Collections.Generic;
using System.Text;

public class Chicken : Animal {
    public void LayEgg() {
        Console.WriteLine("{0} Animal.", name);
    }

    public Chicken(string newName)
        : base(newName) {
    }
}

public class Cow : Animal {
    public void Milk() {
        Console.WriteLine("{0} cow.", name);
    }

    public Cow(string newName)
        : base(newName) {
    }
}

public abstract class Animal {
    protected string name;

    public string Name {
        get {
            return name;
        }
        set {
            name = value;
        }
    }

    public Animal() {
        name = "animal";
    }

    public Animal(string newName) {
        name = newName;
    }

    public void Feed() {
        Console.WriteLine("{0} is feeding.", name);
    }
}

class Program {
    static void Main(string[] args) {
        Collection<Animal> animalCollection = new Collection<Animal>();
        animalCollection.Add(new Cow("A"));
        animalCollection.Add(new Chicken("B"));
        foreach (Animal myAnimal in animalCollection) {
            myAnimal.Feed();
        }
    }
}

   
    
  








Related examples in the same category

1.Generic Collection and List
2.Add user-defined object to generic Collection
3.Add Collection Items with IComparable interface implementation
4.Sort by Name
5.Generic collection class
6.Represents a generic collection of key/value pairs. The enumerator returns the values in the order assigned.
7.List To String
8.Convert Dictionary to String
9.String list and String set