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();
            }

        }
    }

好了,我们可以使用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();
        }       
    }

 

 -----------------------------------------------------------------------

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();
            }
        }
    }

 

 

 

转载于:https://www.cnblogs.com/imxh/archive/2011/09/08/2171426.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值