gpt4 book ai didi

C# 标记派生类实例的最佳方式

转载 作者:太空宇宙 更新时间:2023-11-03 11:08:37 25 4
gpt4 key购买 nike

假设您有一个名为 Food 的类,并且您有一个名为 Banana、Apple 和 Orange 的派生类。你在某个地方有一个 FoodProcessor 方法,在大多数情况下,它可以处理任何类型的食物,但偶尔需要知道它正在处理什么类型的食物,以便做一些特定类型的事情,比如剥香蕉,去核苹果,或榨橙子。

因此您的 FoodProcessor 接受 Food 参数。您的 FoodProcessor 检测 Food 实例的特定派生类型的最佳方法是什么?

最佳答案

您应该使用多态性,每个 Food 子类都将定义一个方法 process()FoodProcessor 类将简单地调用该方法。

食品加工商

public void process(Food f) {
f.process();
}

苹果

public void process() {
Console.WriteLine("Core the apple.");
}

香蕉

public void process() {
Console.WriteLine("Peel the banana.");
}

橙色

public void process() {
Console.WriteLine("Squeeze the orange.");
}

通过这种方式,您可以利用 Food 及其子类之间的继承关系。

关于C# 标记派生类实例的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14863886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com