C#入门经典第五版 示例

来源:互联网 发布:androidstudio优化 编辑:程序博客网 时间:2024/04/27 15:39
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Diagnostics; // 调试using System.Collections;namespace benben_CSharp_first{    // 定义 动物 抽象类    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);        }    }    // 奶牛 类    public class Cow : Animal    {        public void milk()        {            Console.WriteLine("{0} has been milked.", name);        }        public Cow(string newName)            : base(newName)        {        }    }    // 鸡 类    public class Chicken : Animal    {        public void LayEgg()        {            Console.WriteLine("{0} has laid an egg..", name);        }        public Chicken(string newName)            : base(newName)        {        }    }    class Test    {        static void Main()        {            Console.WriteLine(("Create an Array type collection of Animal " +                "object and use it: \n "));            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 " +                "object and use it: ");            ArrayList animalArrayList = new ArrayList();            Cow myCow2 = new Cow("Hayley");            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} object. ",                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();        }    }}