你如何重载依赖于对象是什么的实例?
How do you overload dependent on what an object is an instance of?
我被指示创建两个使彼此重载的方法。一个应该在一个数组中存储一个对象,另一个应该在另一个数组中存储一个对象。作业如下:
重做你的动物园,让它能够分开存放野生动物和家养动物。
因此,您的 Zoo class 将 probably/presumably 有两种不同的 add() 方法。
一个接收实现野生动物接口的 Animal 对象和一个接收实现家畜接口的 Animal 对象的 add() 方法。
我该怎么做?
Class Zoo {
...
void add(Animal foobar instanceof Wild){
[...]
}
[...]
不会编译。也没有
Class Zoo {
...
void add(Animal foobar implements Wild){
[...]
}
[...]
实际上,可以使用 instanceof 在 add() 中执行 if 语句,但他特别要求两个彼此重载的 add() 方法。我该怎么做呢?或者,这是不可能的,我的老师试图通过说 probably/presumably?
来打扰我
关键是提供两种add()
方法,一种采用一种类型的参数(一种wildlife动物类型),另一种采用另一种类型的参数参数(家养 动物类型)。
你现在应该有足够的信息来编码了。
附录 (2016 年 3 月)
例如,您可以使用以下代码:
class Animal { ... }
interface Wildlife { ... }
interface Domestic { ... }
class WildAnimal
extends Animal
implements Wildlife
{ ... }
class DomesticAnimal
extends Animal
implements Domestic
{ ... }
class Zoo
{
void add(WildAnimal beast) { ... }
void add(DomesticAnimal beast) { ... }
}
两个 Zoo.add()
方法都接受 Animal
类型的参数。但是一个接受一个实现了Wildlife
接口的Animal
对象,另一个接受
实现 Domestic
接口的 Animal
对象。
我被指示创建两个使彼此重载的方法。一个应该在一个数组中存储一个对象,另一个应该在另一个数组中存储一个对象。作业如下:
重做你的动物园,让它能够分开存放野生动物和家养动物。 因此,您的 Zoo class 将 probably/presumably 有两种不同的 add() 方法。 一个接收实现野生动物接口的 Animal 对象和一个接收实现家畜接口的 Animal 对象的 add() 方法。
我该怎么做?
Class Zoo {
...
void add(Animal foobar instanceof Wild){
[...]
}
[...]
不会编译。也没有
Class Zoo {
...
void add(Animal foobar implements Wild){
[...]
}
[...]
实际上,可以使用 instanceof 在 add() 中执行 if 语句,但他特别要求两个彼此重载的 add() 方法。我该怎么做呢?或者,这是不可能的,我的老师试图通过说 probably/presumably?
来打扰我关键是提供两种add()
方法,一种采用一种类型的参数(一种wildlife动物类型),另一种采用另一种类型的参数参数(家养 动物类型)。
你现在应该有足够的信息来编码了。
附录 (2016 年 3 月)
例如,您可以使用以下代码:
class Animal { ... }
interface Wildlife { ... }
interface Domestic { ... }
class WildAnimal
extends Animal
implements Wildlife
{ ... }
class DomesticAnimal
extends Animal
implements Domestic
{ ... }
class Zoo
{
void add(WildAnimal beast) { ... }
void add(DomesticAnimal beast) { ... }
}
两个 Zoo.add()
方法都接受 Animal
类型的参数。但是一个接受一个实现了Wildlife
接口的Animal
对象,另一个接受
实现 Domestic
接口的 Animal
对象。