【发布时间】:2016-01-29 19:37:06
【问题描述】:
谁能给我以下代码难题的解决方案? 给出了一个解决方案,但可能不止一个解决方案。
// this code compiles
IAnimal animal= new Dog();
animal.Eat();
// this code doesn't compile
Dog animal = new Dog();
animal.Eat();
类定义应该如何使上述代码块在不同的范围内编译(第一个)而不编译(第二个)?
【问题讨论】:
-
这段代码无法编译 - 什么是编译器错误?
-
如果 IAnimal 可以吃 () 并且 Dog 是 IAnimal,那么根据定义,Dog 可以吃 ()。
-
@Domysee - 他们并不是说他们的代码无法编译 - 他们是在询问如何编写代码以使上述两行产生所需的编译/非编译行为。
-
@pstrjds 哦,对了。感谢您的澄清