C# 泛型類
阿新 • • 發佈:2019-01-15
運算 ... ogr system ons col fault 泛型類 pri
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(newDog("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); } } } }
C# 泛型類