我见过很多代码,其中class&#39的方法返回类型是另一个类没有扩展的类型。
我想了解一个类如何能够负担或生成一个方法,其返回类型是另一个类的类型,它们之间没有任何关系。
如果一个人延伸到另一个,那么我认为他们之间存在某种关系,但是当没有关系的时候怎么样。
在接口的情况下,当我们不实现时,它会创建一个实现该接口的匿名,然后完成任务。但在这种情况下怎么样?是否遵循相同的规则..?
考虑下面的代码,是否可能......?如果是,那么如何以及为什么......?
# Load data
data = get_data()
# Storage for B
B = np.empty(shape=data.shape)
# Process data
for idx, data_B in enumerate(data):
# Process data
a, b, c = model(data_B)
# Reshape and feed in B
B[idx * batch_size:batch_size * (idx + 1)] = np.squeeze(np.concatenate((a, b, c), axis=1))
答案 0 :(得分:0)
你会混淆对象“是什么”以及对象“产生/生成”
让我们与人类进行类比
人类是哺乳动物,因此人类延伸哺乳动物
人类可以制作钱包。确定钱包不是人类。
所以我可以写:
public class Human extends Mammal{
public Wallet createWallet(){
return new Wallet();
}
}
答案 1 :(得分:0)
是的,有可能。因为可以返回任何类型的Object。 Object是类的实例,无论是String,Long还是任何用户定义的类。可以在任何其他类的方法中返回类的实例,而两个类之间没有任何关系。