我将从一个例子开始:
因此,Player是一个子类,而Entity是一个父类。
玩家:
class Player : Entity
{
public override int Speed { get; set; }
}
实体:
abstract class Entity : Animation
{
public Moving Movement { get; set; }
public abstract int Speed { get; set; }
}
注意:移动是一个枚举,其中包含:上,下,左,右,无
因此,如您所见,我在Player类中具有overiden属性,并且我有一个普通 实体类中的公共属性。
当我创建Player的实例时,既可以访问Player类中的重写的Speed,也可以访问自己的Entity类中的Movement。
Player player = new Player();
player.Speed = 1;
player.Movement = Moving.None;
那么我什么时候应该抽象一个属性,什么时候不应该抽象?