[英]Using jung2 in cytoscape plugins
我已經學習Java大約一個半星期了,着眼於編寫cytoscape插件以及使用jung2分析和操作cytoscape圖對象。 有什么方法可以擴展稱為yyz類的cytoscape圖形對象,使其包含jung2圖形類型對象的新字段,其字段和方法指向cytoscape中的相應字段,而無需在內存中創建全新的對象。 不知道我在這里是否有意義,但是假設例如我有兩個代表相同類型對象的類
public class xyz {
public double i;
public xyz(double a) {
i=a;
}
}
public class pqr {
public double j;
public pqr(double b) {
j=b;
}
}
然后像
public class trans extends xyz {
public pqr toPqr;
public trans(double a) {
super(a);
toPqr = new pqr(i);
}
}
現在如果
trans myTrans = new trans(5);
然后myTrans.toPqr.j
指向myTrans.i
如果我為其中一個分配新值,則myTrans.i
更改
如果我更改myTrans.i
,則可以在myTrans.toPqr.j
看到
好吧,我正在尋找的是有一種方法來定義擴展該類xyz的class trans,以便例如
public class xyz {
public String r;
public double i;
public xyz(String a, double b) {
r=a;
i=b;
}
}
和
public class pqr {
public String s;
public double j;
public pqr(String a, double b) {
s=a;
j=b;
}
}
和
public class trans extends xyz {
public pqr toPqr; //adding a new field of type pqr
trans(xyz myXyz) {
super(myXyz.r, myXyz.i);
//code
}
}
那如果
xyz xyzA = new xyz("a",8); // constructor for two fields string r and double s
和(重播?)
xyzA = new trans(xyzA); // trans takes an xyz object as constructor arg
以便
((trans)xyzA).toPqr.s始終等於xyzA.r,其中更改一個會更改另一個((trans)xyzA).toPqr.j始終等於xyzA.i,其中更改一個會更改另一個
基本上,有兩個不同的Java對象,它們代表同一類型的數學對象,例如圖。 一個例程套程序處理圖的第一個表示,而另一組例程僅處理圖的第二個表示。 要在第一個表示形式上使用第二套例程,我將不得不從我不想做的第一個表示形式中在內存中重新創建圖形。 我想用與第二個表示形式相同類型的新字段擴展第一個對象。 不會在內存中隱藏圖形。
我猜最簡單,最無意義的練習是用兩個完全相同且彼此變化的不同字段來定義一個類。 是否有可能做到這一點?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.