我正在制作一个程序,其中包含多种类型的二叉树。所以我决定做一个抽象类,以避免复制代码。但是有一个问题,每棵树的节点需要包含与节点本身相同类型的子节点。是否有任何方法可以在抽象中对此进行定义,还是应该为每种类型创建不同的类?作为字段的继承者摘要
public abstract class BinaryNodeAbstract<T>
{
public T Value;
public BinaryNodeAbstract<T> Left;
public BinaryNodeAbstract<T> Right;
现在的方式是,节点可以是任何类型的BinaryNode。这是需要避免的。
加上'其中T:BinaryNodeAbstract',但它可能只是部分解决 –
2014-10-02 13:53:27
那么,什么是错的实施?它看起来不错。 – 2014-10-02 13:54:18
你有什么问题?它甚至需要抽象吗? – bornfromanegg 2014-10-02 13:54:32