我已經制作了一個基類Node,其中包含添加和刪除子項,處理父項以及搜索祖先,後代等的方法。到目前爲止這麼好。節點類模型
現在我想創建一個派生類型TreeNode:從所有這些節點功能中受益的節點,但同時限制子節點和父節點具有相同的TreeNode類型。因爲它現在我仍然有孩子和父母的類型的節點。
我可以以某種方式使Node類的屬性和方法參數類型更改爲匹配派生類的類型,而無需手動重寫或「新」?
class Node
{
public TypeOfThisInstance Parent { get; }
}
class TreeNode : Node
{
}
TreeNode.Parent
現在應該是一個TreeNode
而不是Node
。
爲什麼你甚至想這樣做? 'TreeNode'與'Node'有什麼不同? – svick 2012-04-22 14:00:55