标签:取出 ext reading job sys new 泛型 opera operator
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { var dogCage = new Cage<Dog>(1); // 放进去 dogCage.Putin(new Dog("jack")); dogCage.Putin(new Dog("job")); // 取出来 var dog2= dogCage.Takeout(); dog2.ShowName(); } } public class Dog { private string Name; private int age = 0; public Dog(string dname) { Name = dname; } public void ShowName() { Console.WriteLine("这是一条狗:{0}", Name); } public void ShowAge() { Console.WriteLine("宠物的年龄为" + age); } // 使用重载运算符 public static Dog operator ++(Dog dog) { dog.age++; // 年龄自增 return dog; } } // 泛型类的使用,定义笼子 public class Cage<T> { T[] array; // 定义一个数组 readonly int Size; // 定义一个笼子大小 int num; // 定义现有的数量 public Cage(int n) { // 构造函数 Size = n; num = 0; array = new T[Size]; // 设置数组(笼子)的大小 } // 将宠物放到笼子里 public void Putin(T pet) { // 如果还没有满,将宠物放到笼子里 if (Size > num) array[num++] = pet; else Console.WriteLine("宠物已经装满了..."); } // 将宠物取出来 public T Takeout() { // 如果有宠物,那么取出来 if (num > 0) return array[--num]; else { // 如果没有宠物了,那么返回空 Console.WriteLine("笼子空了!!!"); return default(T); } } } }
标签:取出 ext reading job sys new 泛型 opera operator
原文地址:https://www.cnblogs.com/namejr/p/10269663.html