c#中有关new的问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 03:23:09
class Cock
{
void Run()
{
// 鸡跑
}
}
定义一个动物变量
Animal SomeAnimal;
SomeAnimal = new Cock();
请问new这里是什么意思?这里是实例化类cock吗?但是实例化不是这样写的吗?Cock a = new Cock();那这里是什么呢?

Cock 是继承Animal 的吧
class Cock :Animal
{
void Run()
{
// 鸡跑
}
}
而Cock中的Run是虚方法?这是OO的继承和多态。。。
你的问题当然是实例化Cock。。。
可以想象还有别的“跑法”,比如狗跑,那么我要添加类
class DogRun:Animal
{
void Run()
{
// 狗跑
}
}
这样的话我使用
Animal SomeAnimal1 = new Cock();
或者
Animal SomeAnimal2 = new DogRun();
然后SomeAnimal1.Run() //调用鸡跑
SomeAnimal2.Run() //调用狗跑
。。。多看看基础把

你给的代码不完整

估计Animal是Cock的基类
基类是可以通过他的派生类来实例化的