0
我有一個基類Sport,它具有一個屬性將返回適當的類型的對象應該是給定的派生類型(例如,檯球延伸體育,和財產將返回BilliardBall類型)。如何從基類型返回派生類型
有沒有更好的方法來做到這一點,而不是在Sport類中有一個大的if語句(如果這個對象是一個檯球實例然後返回BilliardBall,否則如果...)?
我有一個基類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(); }
}
}
你能證明你在談論的代碼?這似乎可能是一個糟糕的設計。 –