簡體   English   中英

我如何設計課程?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM