C# 泛型类
标签:取出 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(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[] 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# 泛型类
标签:取出 ext reading job sys new 泛型 opera operator
原文地址:https://www.cnblogs.com/namejr/p/10269663.html
文章来自:
搜素材网的
编程语言模块,转载请注明文章出处。
文章标题:
C# 泛型类
文章链接:http://soscw.com/index.php/essay/96196.html
评论