【发布时间】:2020-08-18 12:45:52
【问题描述】:
使用一个方法创建一个基类,该方法使用一个引用子类类型的 switch case。
下面这段代码是否违反了OO原则,如果是,是哪一个?
public abstract class BaseClass
{
public BaseClass Method()
{
switch (this)
{
case DerivedClass1 s:
return new DerivedClass1();
case DerivedClass2 c:
return new DerivedClass2();
case DerivedClass3 r:
return new DerivedClass3();
default:
return null;
}
}
}
【问题讨论】:
-
这是一道作业题吗?
标签: c# oop design-principles