zoukankan      html  css  js  c++  java
  • 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();
                }
            }
        }
  • 相关阅读:
    JDK版本1.6和6.0到底指什么
    分布式存储Memcache替代Session方案
    Spring事务隔离级别和传播特性
    高性能并发系统架构应该如何设计?关键是什么?12306
    Idea无法DEBUG的问题
    springboot(三 使用mybatis +springboot 完成简单的增删改查)
    springboot(二 如何访问静态资源和使用模板引擎,以及 全局异常捕获)
    spring boot (入门简介 demo)
    java1.8新特性(optional 使用)
    java1.8 新特性(关于 match,find reduce )操作
  • 原文地址:https://www.cnblogs.com/imxh/p/2171426.html
Copyright © 2011-2022 走看看