如何从基类型返回派生类型
我有一个基类Sport,它具有一个属性将返回适当的类型的对象应该是给定的派生类型(例如,台球延伸体育,和财产将返回BilliardBall类型)。如何从基类型返回派生类型
有没有更好的方法来做到这一点,而不是在Sport类中有一个大的if语句(如果这个对象是一个台球实例然后返回BilliardBall,否则如果...)?
回答:
你为什么在这里说泛型?为什么运动会知道所有的运动?
你可以做类似下面,对于初学者:
public interface IBall {
}
public class BilliardBall : IBall
{
}
public abstract class Sport
{
protected abstract IBall Ball { get; }
}
public class Billiards : Sport
{
protected override IBall Ball
{
get { return new BilliardBall(); }
}
}
以上是 如何从基类型返回派生类型 的全部内容, 来源链接: utcz.com/qa/264574.html