如何从基类型返回派生类型

我有一个基类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

回到顶部