public interface IBox
{
IBox id { get; }
}
Run Code Online (Sandbox Code Playgroud)
IBox id当接口在一个类上实现时,我试图理解这里的意图。
为什么IBox id用在这里?根据我对接口的理解,它列出了类的设计要求。然而,IBox id是在IBox其内部。使用IBox实现的接口创建的类的可能用途是什么?
我试图用IBox接口创建一个类。
public class Box : IBox
{
public IBox id { get;}
}
Run Code Online (Sandbox Code Playgroud)
这样做可以达到什么目的?
这是我首先想到的。不确定这是否能回答您的问题,但假设您正在实施链表数据结构。您可能会有某种 Node 来表示列表中的值:
class LinkedList<INode>
{
public INode Head { get; set; }
}
interface INode
{
INode Next { get; set; }
}
class Node : INode
{
public object Value { get; set; }
public INode Next { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
接口实现可用于确保类将具有对自身的引用,以便表示链表中的下一个元素。