[英]How do I design my class?
我想弄清楚我應該如何安排我的課程,以便我可以實現以下目標。
所以,最終我有一個圖表,它采用節點和邊。
並且想法是基於這些節點和邊緣運行一些圖算法。
所以,Graph類的基本單位是
private Node node
private Edge Edge
你形成一個圖表..對
現在,這是問題所在。
我有一個特殊的Edge說特殊的Edge,它實現了早期的Edge,並且有一些更特殊的屬性。
所以我有Node, SpecialEdge
類型的圖表
現在,我如何使用接受Edge而不是SpecialEdge的圖G?
任何建議,將不勝感激。 謝謝
您應該創建兩個不同的Edge子類,即BasicEdge和SpecialEdge。
應該接受兩者的圖表應該是Edge。 如果您只想要一種類型,請接受BasicEdge或SpecialEdge。
您可以定義一個接口Edge,其中像SpecialEdge這樣的子類將實現它。 您可能有許多Edge的實現,它將始終有效。
此外,由於您的Graph包含許多節點和許多邊,因此您可以考慮在設計中使用List<Node>
和List<Edge>
。
編輯:根據Nick的說法,您應該使用Set<Node>
和Set<Edge>
因為在這種情況下訂單不是問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.