C#面向对象基础(五) 农场中的动物
原来的农场,只有俩动物,这是非常地不科学地!
农场中的动物应该是变化地,今天生几个,明天生几个... 还可能采购,也可能出售.
怎么办?使用集合,来保存农场中的动物.你首先想到的是ArrayList.下面这样改代码:
Farm类中加入引用
using System.Collections;
Farm类中类似这样的写法
public class Farm
{
public ArrayList animals;
/// <summary>
/// 构造方法 开始建农场了 初始化
/// </summary>
public Farm()
{
animals = new ArrayList();
}
public void AddAnimal(Animal someAnimal)
{
animals.Add(someAnimal);
}
public void ShowAnimals()
{
Console.WriteLine("农场里有{0}只动物",animals.Count) ;
foreach(Animal a in animals)
{
a.ShowInfo();
}
}
}
{
public ArrayList animals;
/// <summary>
/// 构造方法 开始建农场了 初始化
/// </summary>
public Farm()
{
animals = new ArrayList();
}
public void AddAnimal(Animal someAnimal)
{
animals.Add(someAnimal);
}
public void ShowAnimals()
{
Console.WriteLine("农场里有{0}只动物",animals.Count) ;
foreach(Animal a in animals)
{
a.ShowInfo();
}
}
}
好了,我们可以使用AddAnimal ,往农场中加动物.使用ShowAnimals显示农场的动物信息.
class Program
{
static void Main(string[] args)
{
Animal cock = new Animal("cock", 1);
Animal goat = new Animal("xiyangyang", 3);
Farm myFarm = new Farm();
myFarm.AddAnimal(cock);
myFarm.AddAnimal(goat);
myFarm.AddAnimal(new Animal("dog", 2));
myFarm.ShowAnimals();
}
}
{
static void Main(string[] args)
{
Animal cock = new Animal("cock", 1);
Animal goat = new Animal("xiyangyang", 3);
Farm myFarm = new Farm();
myFarm.AddAnimal(cock);
myFarm.AddAnimal(goat);
myFarm.AddAnimal(new Animal("dog", 2));
myFarm.ShowAnimals();
}
}
-----------------------------------------------------------------------
ArrayList已经过时了 ,泛型List<T>
确认名称空间引入
using System.Collections.Generic; //泛型
代码如下:
public class Farm
{
public List<Animal> animals;
/// <summary>
/// 构造方法 开始建农场了 初始化
/// </summary>
public Farm()
{
animals = new List<Animal>();
}
public void AddAnimal(Animal someAnimal)
{
animals.Add(someAnimal);
}
public void ShowAnimals()
{
Console.WriteLine("农场里有{0}只动物",animals.Count) ;
foreach(Animal a in animals)
{
a.ShowInfo();
}
}
}
{
public List<Animal> animals;
/// <summary>
/// 构造方法 开始建农场了 初始化
/// </summary>
public Farm()
{
animals = new List<Animal>();
}
public void AddAnimal(Animal someAnimal)
{
animals.Add(someAnimal);
}
public void ShowAnimals()
{
Console.WriteLine("农场里有{0}只动物",animals.Count) ;
foreach(Animal a in animals)
{
a.ShowInfo();
}
}
}