[英]Inheritance hierarchy - how to split class
我有一個為特定實體繪制圖形的類,圖形節點是可單擊的,因此,我具有用於單擊項的特定方法以顯示適當的信息。
因為這只是一個原型,所以我沒有考慮其他實體-要單擊的實體將完全不同。
我不確定如何使用繼承將其拆分,因此我將一個圖作為主要類,並根據哪個實體(繪制的圖類型)拆分了單擊項的相關方法,以便將它們分離到各自的空間中?
例如,一個類型的圖
Bannana-具有可點擊實體的皮膚,大小,顏色,數量
但是一個類型的圖
橙色-具有顏色,線段,橙色類型,數量
任何想法,對不起這個糟糕的例子:/
謝謝
根據節點類型的繼承關系,下面是一個實體的xml文件,它是如何繪制樹的。 其他實體的布局將類似,但具有不同的值。 這有助於清除一切嗎? 還可能值得一提的是,不同的實體將共享一些相同的項目,因此,例如,所有這些實體都可以單擊以查看復合圖像標簽
<graph>
<node label="Batch">
<node label="Searched Batch">
<node label ="a batch number" />
</node>
<node label="Compound Number">
<node label ="a compound number" />
</node>
<node label="Parent Number">
<node label ="a parent number" />
</node>
<node label="Chemist Name">
<node label ="Name 1" />
</node>
<node label="Quantity Available">
<node label ="N/A" />
</node>
<node label="Molecular Formula">
<node label ="a molecular formula" />
</node>
<node label="Notebook Number">
<node label="a notebook number" />
</node>
<node label="Analytical Images">
<node label ="show some pdf files" />
</node>
<node label="Who has Registered Batches">
<node label ="Name 1" />
<node label ="Name 2" />
<node label ="Name 3" />
<node label ="Name 4" />
<node label ="Name 5" />
</node>
<node label="Chemical Structure" >
<node label="Click to view compound image" />
</node>
</node>
</graph>
好的,我將從Graph基類開始。 由此,我將為每個從基礎Graph繼承的圖形類型創建一個子類。 幾乎可以肯定,基礎Graph類將具有一個Draw()方法來顯示圖形,這將被每個子類所覆蓋,從而允許分別繪制圖形。 在繪制每個圖時,您將使用適當的對象來表示圖及其所需的功能,在這里您將改變節點類型。
看看ZedGraph ,這是一個非常全面的圖形/圖表庫,該庫是開源的,因此您可以在那里瀏覽對象圖,並查看每種變化的圖表類型如何演變。
從圖的角度來看,我將對要在圖中顯示的對象使用一個接口,該接口應以一種通用的方式公開圖的屬性,例如鍵值對集合...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.