Tag: 契约

在Ruby中,C#中的接口相当于什么?

我目前正在尝试学习Ruby,并且我正在尝试更多地了解它在封装和合同方面提供的内容。 在C#中,可以使用接口定义合同。 实现接口的类必须通过为每个定义的方法和属性(以及可能的其他内容)提供实现来满足合同中的条款。 实现接口的单个​​类可以在合同定义的方法范围内执行所需的任何操作,只要它接受相同类型的参数并返回相同类型的结果即可。 有没有办法在Ruby中强制执行此类操作? 谢谢 我在C#中的一个简单例子: interface IConsole { int MaxControllers {get;} void PlayGame(IGame game); } class Xbox360 : IConsole { public int MaxControllers { get { return 4; } } public void PlayGame(IGame game) { InsertDisc(game); NavigateToMenuItem(); Click(); } } class NES : IConsole { public int MaxControllers { get { return 2; […]