new 和 virtual/override 的区别 :
new :
1.基类的引用指向派生类的实例,调用基类的方法;
2.派生类的引用指向派生类的实例,调用派生类的方法;
virtual/override :
1.基类的引用指向派生类的实例,调用派生类的方法;
2.派生类的引用指向派生类的实例,调用派生类的方法;
new :
1.基类的引用指向派生类的实例,调用基类的方法;
2.派生类的引用指向派生类的实例,调用派生类的方法;
virtual/override :
1.基类的引用指向派生类的实例,调用派生类的方法;
2.派生类的引用指向派生类的实例,调用派生类的方法;
2018-04-11
public void isHappy<T>(T target){
console.WriteLine("happy:"+target.ToString());
}
定义一个人的类 class Person{}
使用 var dog = new Dog("A");
dog.isHappy<Person>(new Person());
dog.isHappy<int>(3);
console.WriteLine("happy:"+target.ToString());
}
定义一个人的类 class Person{}
使用 var dog = new Dog("A");
dog.isHappy<Person>(new Person());
dog.isHappy<int>(3);
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(num < Size){array[num++]=pet;}
else{Console.WriteLine("cage is full")}
}
} readonly 只读的
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(num < Size){array[num++]=pet;}
else{Console.WriteLine("cage is full")}
}
} readonly 只读的